随着Linux成为服务器系统的首选,熟悉Linux技能已然成为了一项必备技能。运维和开发人员都会经常使用Linux来管理系统和服务,而Linux提供了各种有用的工具来查看历史命令执行时间,以帮助熟练掌握Linux的管理者更有效地处理问题。
首先明确的是,在Linux中使用的默认shell,它会为每条命令维护一个历史记录,可以通过使用“history”命令访问此记录。当用户在任何时间运行这个命令时,将会查看在当前shell会话范围内最近的1000条命令(这个数字是可配置的),如下所示:
pascal@local:~$ history
1 cd documents/
2 ls
3 cat readme.txt
4 wget https://www.example.com/files/bigfile.bin
查看历史命令执行时间时,我们必须使用另一个相关工具:“bash | grep”。使用此方法可以提取shell历史记录中的执行时间戳,其命令如下:
pascal@local:~$ history | grep -Eo "\[[0-9]{2}:[0-9]{2}\]"
[14:59]
[15:01]
[15:02]
[15:03]
上面我们看到的结果是每条命令的执行时间,其中“14:59”表示上一条命令的执行时间,“15:01”表示当前的命令的执行时间,以此类推。
另外,我们也可以使用“last”命令查看linux服务器上的正在运行的进程历史,以及之前的活动情况,比如:用户的登录/登出信息,命令行执行时间等等。如果我们想要更详细地浏览历史记录,可以使用“last -f /var/log/wtmp”命令,它将会显示更详细、更有用的内容,如下:
pascal@local:~$ last -f /var/log/wtmp
root pts/2 192.168.1.31 Tue Feb 4 11:58 still logged in
pascal pts/0 192.168.1.12 Mon Feb 3 11:59 - Tue Feb 4 11:58 (00:58)
以上的命令可以提供每个用户登录和运行命令的时间,可以帮助检查问题并找到问题的根源。
总结起来,在Linux环境下查看历史命令执行时间是一种重要而有效的方法,即使在解决问题也是如此。Linux系统提供了多种查看历史命令执行时间的工具,例如“history” 和 “last”等,在实际中可以根据需要选择合适的工具。