网站搜索

如何在 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 历史记录中的所有条目,请使用下面的带有 -c 选项的历史命令。

history -c

或者,您可以使用以下命令永久删除文件中所有上次执行命令的历史记录。

cat /dev/null > ~/.bash_history 

注意:普通用户只能查看自己的命令历史记录,而root用户可以查看系统上所有其他用户的命令历史记录。

您可以在此处了解有关 bash 历史文件和有用历史命令的更多信息:Bash Shell 中 Linux“历史命令”的威力。

始终记住,您运行的所有命令都记录在历史文件中,因此不要在命令行上键入纯文本密码。如果您有问题或想法要与我们分享,请使用下面的反馈表。