如何在 Linux 中清除 BASH 命令行历史记录?


当我们执行各种命令时,它们会被存储在一个名为 .bash_history 的文件中。我们以后可以参考此文件来查找所有命令。有时,bash 命令中可能包含敏感信息。为了删除敏感信息,我们可以从 bass 历史文件中删除特定行,或者可以删除整个文件本身。在本文中,我们将看到这两种方法。

在这里,我们看到 .bash_history 文件。

$ ls -l .bash_history
$ cat .bash_

运行以上代码,得到以下结果:

-rw------- 1 ubuntu ubuntu 6495 Dec 31 19:30 .bash_history

清除单个命令

要从历史记录中清除特定命令,我们首先需要找出该命令在 bash 历史文件中的行号,然后使用 –d 选项将其删除。

cat -n .bash_history

运行以上代码,得到以下结果:

u@ubuntu:~$ cat -n .bash_history
1perl -v
2sudo -apt update
3sudo apt -update
4cal
5today
6now
7now() ;
..
..

假设我们要删除第 4 行的命令,即 cal 命令。

$ history

运行以上代码,得到以下结果:

1 perl -v
2 sudo -apt update
3 sudo apt -update
4 today
5 now
6 now() ;
……
……

清除整个历史记录

我们可以使用以下命令清除整个历史记录。在这里,我们用空值覆盖 .bash_history 文件。

$cat /dev/null > ~/.bash_history
$ cat .bash_history
$

如您所见,当我们查找 .bash_history 的内容时,它都是空白的。

更新于: 2023-07-26

572 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.