默认情况下会记录终端命令吗?

The*_*oon 6 command-line logs

我想知道默认情况下,您在终端中输入的任何内容是否都会记录在系统中的某个位置。我可以想象在某种程度上它确实如此,因为您可以使用向上和向下箭头来回忆输入的命令,但其作用类似于 RAM 在计算机中的工作方式,一旦关闭终端,命令就会丢失/删除?或者是否有人仍然保存在计算机中?

Tho*_*key 8

短:没有

长:这取决于:

  • 大多数shell都有记录命令行的历史记录机制。
  • shell-history 通常是可配置的(并且可能不会被激活)。
  • 但是文本编辑器之类的东西通常不会(通常不会记录您的击键)

此外,即使使用 shell,能够运行多个 shell 实例并记录来自这些实例的所有命令也并不常见。

除了 shell-history,还有其他方法来记录你的命令,例如,使用低级审计程序(它记录你的命令使用的资源),或纯文本的东西script(它可以记录从电脑到终端)。

即使您的 shell 未配置为记录命令,您也可以在配置了审计的环境中工作。对于那些“默认”,有一个记录。

进一步阅读:

  • @TheHarpoon 啊,一定是这样。我对“历史”的了解也有点有限。我猜 `~\.bash_history` 会持续跟踪所有会话的历史记录,而 `history -c` 只是清除内存中的任何内容或一些每个会话的存储空间。如果它是这样工作的,那么该命令会更有意义:`清除主要的大历史文件 && 清除当前会话的数据 && 和平退出`。 (2认同)