0
.zsh_history 中数字时间戳后面的列的用途是什么?
: 1568128379:0;cp -a ~/.zshrc.pre-oh-my-zsh ~/.zshrc
: 1568128381:0;exit
它是时间戳的一部分还是完全有不同的用途?
答案1
如果 shell 的EXTENDED_HISTORY
选项是放,那么这个数字就是命令执行所花费的秒数。
从zsh
手册(info zsh extended_history
或zshoptions(1)
手册页):
EXTENDED_HISTORY
<C>
将每个命令的开始时间戳(自纪元以来以秒为单位)和持续时间(以秒为单位)保存到历史文件中。该前缀数据的格式为:
: <beginning time>:<elapsed seconds>;<command>
history
当您使用内置选项时,该数字也会以人类可读的“MM:SS”格式显示-D
。
sleep 7
显示花费 7 秒的示例:
% sleep 7
% tail -n 2 $HISTFILE
: 1697802061:7;sleep 7
: 1697802074:0;tail -n 2 $HISTFILE
% history -D -2
3158 0:07 sleep 7
3159 0:00 tail -n 2 $HISTFILE
示例显示我mutt
在某个时刻跑了 3008 秒(50 分 8 秒):
% history -D 2070 2070
2070 50:08 mutt
% sed '2070!d' $HISTFILE
: 1697438226:3008;mutt
至于为什么它可能会显示0
给你,请参阅为什么 .zsh_history 中的持续时间列通常为 0,尽管“history -D”命令显示它?