Edu*_*scu 3 linux shell bash logs command-history
我输入了一堆命令,当我运行时,history
我发现它们不在那里。
除了命令以(空格)开头的情况之外,命令不会记录在历史记录中的情况是什么?
您已经提到了前导空格,另一个答案提到了将有意更改历史记录中保存的内容的设置,例如HISTIGNORE
设置和简单地关闭历史记录。
另一种情况是同一用户运行多个交互式 shell。Z shell 有一个share_history
选项,可以让多个 Z shell 实例更新共享历史文件。它重新读取文件以查找新条目,并将时间戳应用于每个条目。
Bourne Again shell 没有这个内置功能(尽管可以打印提示符时使用 shenanighans 来执行命令)。这改变的默认历史文件行为是,两个 shell 都不期望除自身之外的任何内容写入历史文件,并且在执行每个命令行后不会更新历史记录。
具体来说,Bourne Again shell 中的默认行为仅在 shell 退出或使用history
命令明确指示时更新历史文件。这不仅意味着当用户有多个交互式 shell 会话时,一个 shell 会简单地覆盖另一个 shell 写入的历史记录;而且 而且,未完全终止的 shell 也可能不会写出历史文件,从而丢失在未完全终止的 shell 与历史文件的最后一次(显式)更新之间发生的任何命令历史记录。
归档时间: |
|
查看次数: |
3286 次 |
最近记录: |