如何在 Linux 中清除 BASH 命令行历史记录
bash 历史记录保存了用户在 Linux 命令行上执行的所有命令。这样,您就可以使用“向上箭头”或“向下箭头”键滚动查看命令历史记录文件,轻松运行以前执行的命令。
在本文中,我们将向您展示在 Linux 系统上清除命令行历史记录的两种简单方法。
从 Linux 终端删除命令行历史记录的主要原因是为了防止其他用户使用同一帐户。
例如,如果您输入了包含纯文本密码的命令,并且您不希望其他系统用户或攻击者看到该密码,则需要删除或清除历史文件。
看一下下面的命令,这里用户aaronkilik在命令行上输入了数据库服务器密码。
$ sudo mysql -u root -p=@!#@%$lab
如果您查看 bash 历史文件的末尾,您将在其中看到上面输入的密码。
$ history
bash_history文件通常位于用户的主目录/home/username/.bash_history中。
$ ls -l /home/aaronkilik/.bash_history
要从历史文件中删除一行,请使用该-d
选项。例如,如果您想清除上面场景中输入明文密码的命令,请在历史文件中找到行号并运行此命令。
$ history -d 2038
要删除或清除 bash 历史记录中的所有条目,请使用下面的带有选项的 history 命令-c
。
$ history -c
或者,您可以使用以下命令永久删除文件中所有最后执行的命令的历史记录。
$ cat /dev/null > ~/.bash_history
注意:普通用户只能查看自己的命令历史记录,但 root 用户可以查看系统上所有其他用户的命令历史记录。
您可以在这里了解有关 bash 历史文件和有用的历史命令的更多信息:Bash Shell 中 Linux“历史命令”的强大功能。
请务必记住,您运行的所有命令都会记录在历史文件中,因此请不要在命令行中输入纯文本密码。如果您有任何问题或想法要与我们分享,请使用下面的反馈表。