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

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

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

答案1

短:无

长:这取决于:

  • 最多贝壳有一个记录命令行的历史机制。
  • shell-history 通常是可配置的(并且可能不会被激活)。
  • 但像文本编辑器这样的东西通常会做不是(通常不会记录您的击键)

而且,即使有贝壳,它也是不是常见的是能够运行多个 shell 实例并进行记录全部来自这些实例的命令。

除了 shell-history 之外,还有其他方法来记录命令,例如,使用低级审计程序(记录资源您的命令使用的),或纯文本的东西script(可以记录从计算机发送到终端的所有信息)。

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

进一步阅读:

答案2

这取决于你使用什么外壳。如果您使用的不是 Windows,而是使用系统的默认 shell,那么您可能使用的是 Bash shell。

Bash shell 将您输入的大多数命令的列表存储在环境变量定义的文件中HISTFILE。默认情况下这是~/.histfile.通过更改HISTFILE为其他内容,您可以将历史记录存储在其他地方。/dev/null对于那些想要隐藏自己历史的人来说很受欢迎。 Bash 还将您的历史记录存储在 RAM 中,这就是为什么即使您设置HISTFILE为 ,您仍然可以使用向上和向下箭头键/dev/null

现在,你会注意到我说最多您输入的命令。以空格开头的命令不会显示在您的历史记录中。

相关内容