终端中的关机命令历史记录

终端中的关机命令历史记录

Ubuntu (13.04) 中的默认终端将以前的命令保存在可迭代列表中,甚至在会话之间也是如此。Byobu 终端也是如此。

但出于某种原因sudo 关机....永远不会保留在此列表中。

这是为什么?我该如何更改它以便关机命令也被保存,这样我就不必每次都输入它了?(我更喜欢使用终端而不是 GUI。)

答案1

更准确地说,您的 shell(默认情况下为 bash)会保留命令历史记录。这不是终端应用程序、gnu screen 或 byobu 的功能。它们都运行 bash,因此它们都共享一个 bash 历史记录。

我没有看到你所描述的行为。我的sudo 关机...命令似乎保存得很好。

你可能在 bash 历史记录中看不到某个命令的一些原因 -

  • 当您输入的命令在行首带有空格时,该命令不会保留在历史记录中(假设您的 $HISTCONTROL 包含“ignorespace”或“ignoreboth”)
  • HISTIGNORE 变量定义要从历史记录中排除的模式。谨慎的管理员可能会添加“shutdown”作为要排除的字符串,以避免因错误的历史记录调用而意外关闭系统。
  • 当 shell 退出时,历史记录将写入磁盘 (~/.bash_history)。如果 shell 异常结束(例如段错误、断电等),则不会保存该会话的历史记录。(在关闭该 shell 通常会被正常杀死并写入其历史。)

更多详情可在这找到:Bash 参考手册:Bash 历史工具

相关内容