如何让linux的history命令显示时间记录

说白了,如果你想让Linux的history命令有时间戳,其实很简单:只需更改一些配置即可。

我们先来说说最重要的事情。
Bash3 .0及以上版本带有此功能,但默认关闭。
我们去年运行的项目是通过直接向 /etc/bashrc 添加三行来解决的,这非常无缝。
要点是:HISTTIMEFORMAT变量必须设置正确,例如使用格式“%Y%m%d%H%M%S:”用冒号显示年月日时分秒。
还有一点需要注意的是HISTFILESIZE和HISTSIZE也必须相应调整,否则历史数据无法保存或使用。
我们当时直接设置为2 000,对于3 000左右的命令执行频率来说已经足够了。
还有一个更关键的细节。
不要忘记添加 HISTTIMEFORMAT 导出,否则环境变量将不会生效。

一开始我以为只要修改/etc/bashrc就够了,但后来我意识到我错了。
我必须使用source命令才能快速生效,或者只是打开一个新终端。
说实话,这很令人困惑。
很多人不注意这一点。

总之,编辑后,history命令可以显示时间。
此功能对于故障排除特别有用。
但是等等,还有一件事。
如果系统上的bash版本太旧,您可能需要单独升级bash包。

如何查看Linux命令历史 history命令使用技巧

在 Linux 系统上,history 命令......非常重要。
如果用得好的话,可以省掉很多麻烦。

首先,我们来谈谈如何阅读它......就写故事吧。
默认情况下,会为您列出一千个项目...如果您想更改它,可以设置一个 HISTSIZE,例如导出 HISTSIZE=5 000,这样您就会看到五千个项目。
你看输出看起来像这样,1 001 ls -l, 1 002 cd /var/log... 前面的数字就是数字。
无论您以后想使用哪个,只需输入即可! 1 002 ,就是这样。

历史文件有多大?它称为 HISTFILESIZE。
同样,导出 HISTFILESIZE=5 000。

想要查找您以前使用过的命令吗? Ctrl+R 是个好东西。
你按Ctrl+R,然后说一个词,比如log……它会从后到前搜索。
找到它后,按 Enter 运行它,或按向右箭头键将其复制到命令行,更改它,然后运行它。

如果我使用钩子怎么办?历史| grep ssh,这样你就可以看到所有使用ssh的命令。

快速使用历史命令...可以直接输入数字,如!1 05 0。
或者,如果您记得前缀,例如!scp,则可以直接使用最后一个以 scp 开头的命令。

引用参数也很方便。
例如,您上次复制了一个路径,现在您想使用它...se!$ 指的是上次的最后一个参数。
例如,如果您上次复制了 /tmp,然后输入 ls !$,它将变成 ls /tmp。
那!指所有参数。
上次sudo apt install vim,现在要安装nano...hit!,它会自动完成sudo apt install nano。

管理历史行为...有一个名为 HISTCONTROL 的环境变量。
您可以通过导出 HISTCONTROL=ignored 来忽略重复的命令。
或者,如果您不想记录那些前面有空格的命令,请导出 HISTCONTROL=ignore space。
这两者可以组合使用,例如export HISTCONTROL=ignoredups:ignorespace。

如果你想查看时间戳怎么办? export HISTTIMEFORMAT="%F %T",这样就有历史记录的时间输出,如1 001 2 02 5 -04 -05 1 0:2 3 :1 0 ls -la。

您想清除当前会话的历史记录吗?历史 - c.如果你想删除一个项目,例如删除数字1 05 0,输入history -d 1 05 0。
如果你想手动将当前会话的历史记录保存到文件中怎么办?历史-w。
如果您想重播文件的历史记录怎么办?历史河
一个小技巧是避免记录敏感命令。
如果在命令前添加空格,例如 ssh user@host -i /path/to/secret.key,则不会记录该命令。
想看最新的吗?故事1 0,将显示最后1 0篇文章。
如果您想知道您最常用的十个命令是什么?历史| awk '{print $2 }' |排名|独特的-c |订单号 | head -1 0,这个命令可以帮你列出来。

注释... 必须正确设置历史记录大小,并且必须平衡 HISTSIZE 和 HISTFILESIZE。
使用 Ctrl+R 和 !一系列的操作省去了很多麻烦。
通过手动添加空格或删除空格来保护敏感信息。

我的建议是将常用的配置,如 HISTCONTROL 和 HISTTIMEFORMAT 写入 ~/.bashrc 中,以便它们在每次打开终端时自动生效。

如何在Linux中查看命令历史记录 Linux history时间戳配置技巧

使用直接history命令查看历史记录。
通过更改 HISTTIMEFORMAT 变量来显示时间戳。
在 ~/.bashrc 中添加导出 HISTTIMEFORMAT="%F %T"。
保存后,获取它或重新启动终端。
历史有问题吗?
检查HISTSIZE和HISTFILESIZE值是否足够大。
添加 shopt -s histappend 以避免覆盖。
对多个终端使用 export PROMPT_COMMAND="history -a; History -n"。
使用 chmod 6 00 修复历史文件权限。

Zsh 用户看到 ~/.zshrc 文件。

Ctrl+R 反向搜索速度超快。
!string 使用字符串执行旧命令。
fzf 与 Ctrl+R 配合使用效果更好。

自己尝试一下。