less -N .bash_history
来自和的行号wc -l .bash_history
比 bash 内置命令 显示的行号多 44 行history
。将 的历史记录列表中的最后20条与history
的历史文件中的最后20条进行比较less
,发现这些命令是相同的,这就排除了重复命令的原因,那么是什么原因导致历史记录之间的行号不同呢?命令和 wc 或更少?
我最初假设历史命令只是计算历史文件中的命令,但不同的结果与less -N
或wc -l
表明情况并非如此
答案1
这是因为 bash_history 可能会记录每个命令的 Epoch 时间戳。
HISTTIMEFORMAT 环境变量在 bashrc 文件中设置为 HISTTIMEFORMAT="[%F %T] "),bash 存储每个历史记录项的时间戳,当用户使用 BASH 内置历史记录检查历史记录时,时间戳会以简单的方式显示-可读格式(例如:2019-07-24 15:40:19);但是,当这些历史会话保存到文件(例如~/.bash_history)时,时间戳会以 Unix 时间(自纪元以来的秒数)显示。
您可以使用带有选项 -r 或 -w 的历史记录来输入 .bash_history 文件。
https://ss64.com/bash/history.html
我希望这回答了你的问题。