我想知道默认情况下,您在终端中输入的任何内容是否都会记录在系统中的某个位置。我可以想象在某种程度上它确实如此,因为您可以使用向上和向下箭头来调用输入的命令,但其行为类似于计算机中 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
。
现在,你会注意到我说最多您输入的命令。以空格开头的命令不会显示在您的历史记录中。