zsh 历史记录包含时间戳,并且可以选择禁用它。
除了知道命令何时执行之外,原因是什么?如果禁用此功能,我可能会失去哪些功能?
答案1
zsh 历史记录包括时间戳,如果该EXTENDED_HISTORY
功能已启用,或者如果该SHARE_HISTORY
功能已启用;在后一种情况下,使用时间戳,以便多个 shell 可以读彼此准确的历史记录 - 他们只需要读取自上次读取历史文件以来添加的任何新命令,即使历史文件被重写,他们也可以这样做。
使用以下命令启用或禁用这些功能setopt
:
setopt extendedhistory
setopt sharehistory
将使他们能够,同时
setopt noextendedhistory
setopt nosharehistory
将禁用它们。
如果您想保留共享历史记录,则需要保留扩展时间戳(但不需要显式启用该EXTENDED_HISTORY
功能;该SHARE_HISTORY
功能是自给自足的)。
请注意,丰富的历史不仅告诉您什么时候执行了一个命令,而且还多久它需要运行,这在某些情况下可能很有用。
这历史部分文档包含所有详细信息。
答案2
如果我没记错的话,当您打开多个会话时,ZSH 会使用时间戳对历史命令重新排序。