Hello! 欢迎来到小浪云!


如何按日期查看Linux服务器命令历史记录?


avatar
小浪云 2024-07-07 52


Linux服务器中的历史记录命令用于在终端上查看以前执行的命令,它将显示一个命令列表,每个命令旁边都有一个”id”。它将显示一个命令列表,每个命令旁边有一个”id”。

查看历史上最后执行的Linux服务器命令

历史上运行过的命令Linux shell存储在一个专用文件中。

history 

如何按日期查看Linux服务器命令历史记录?

为每个命令设置历史日期和时间

历史记录命令还可以存储执行命令的日期和时间,不过,默认情况下,并不显示过去命令的执行时间。

要想让历史记录也显示日期,我们需要将shell中的全局变量HISTTIMEformat设置为合适的格式,可以使用export命令完成,如下所示。

$ export HISTTIMEformat=’%F %T’

history

如何按日期查看Linux服务器命令历史记录?

按日期查看Linux命令历史

现在,你可以用管道将上面的历史命令输出到’grep’中,以获得在特定日期执行的命令的历史记录。

history | grep ‘2021-01-25’

如何按日期查看Linux服务器命令历史记录?

同样,你也可以过滤多个关键日期的输出。

history | grep -E ‘2021-01-25|2021-01-23’

如何按日期查看Linux服务器命令历史记录?

使用这种方式,你可以将日期指定为过去’N’天的模式,或者其他日期的组合,从而获得所有这些日期的命令历史。

例如,要获取从最后三分之一到最后第五个日期的命令历史,你可以使用。

history | grep -E ‘2021-01-23|2021-01-22|2021-01-21’

现在,当我们从命令行导出变量’HISTTIMEformat‘到shell profile时,它只被导出到该会话,也就是说,直到终端运行的时候,之后该变量就会从shell profile中删除。

永久设置每个命令的历史日期和时间

要将变量永久地添加到shell配置文件中,请在shell配置文件文件中添加export语句(在shell开始时运行的每条命令)。

例如,在’Bash’的情况下,运行下面的语句来永久导出这个变量。

$ export HISTTIMEFORMAT=’%F %t’ >> ~/.bash_profile

如果文件.bash_profile存在,操作符’>>’将把导出语句附加到文件中,否则,它将创建文件并写入语句。

在本文中,我们学习了如何在Linux服务器中查看最近几天的命令历史记录。关于历史记录命令的更多信息,请务必通过运行它的命令行手册页面($ man history)来查看。

相关阅读