Linux服务器中的历史记录命令用于在终端上查看以前执行的命令,它将显示一个命令列表,每个命令旁边都有一个\"id\"。它将显示一个命令列表,每个命令旁边有一个\"id\"。
查看历史上最后执行的Linux服务器命令
历史上运行过的命令被Linux shell存储在一个专用文件中。
$ history
为每个命令设置历史日期和时间
历史记录命令还可以存储执行命令的日期和时间,不过,默认情况下,并不显示过去命令的执行时间。
要想让历史记录也显示日期,我们需要将shell中的全局变量HISTTIMEFORMAT设置为合适的格式,可以使用export命令完成,如下所示。
$ export HISTTIMEFORMAT=\'%F %T\'
$ history
按日期查看Linux命令历史
现在,你可以用管道将上面的历史命令输出到\'grep\'中,以获得在特定日期执行的命令的历史记录。
$ history | grep \'2021-01-25\'
同样,你也可以过滤多个关键日期的输出。
$ history | grep -E \'2021-01-25|2021-01-23\'
使用这种方式,你可以将日期指定为过去\'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)来查看。