嗯,我厌倦了一次又一次地清除终端历史记录。所以我想知道是否有办法让终端不记录您的历史记录或您使用过的命令。
如果没有的话,有什么办法吗?
我正在使用 Ubuntu 14.04 LTS。
注意:我使用此命令清除终端历史记录:
cat /dev/null > ~/.bash_history && history -c && exit
答案1
可以通过在命令前面添加空格来从历史记录(和up
/或调用)中省略单个命令:down
$ echo "foo" # saved
$ echo "bar" # <-- not saved
否则,您可以通过添加以下内容来关闭历史记录~/.bashrc
:
set +o history
(要重新启用,请使用set -o history
)
如果您只想在当前会话中禁用它:
$ unset HISTFILE
答案2
虽然这个问题已经得到解答,但我认为这也值得注意——如果你愿意,你可以删除你的.bash_history
文件,并添加一个指向的同名符号链接/dev/null
。这将产生相同的结果——事实上,这个解决方案与 shell 无关(只要你瞄准正确的历史文件。
你所需要的只是这个:
ln -s /dev/null ~/.bash_history
不要做这样的事情这你会没事的。
答案3
这取决于你使用的 shell。从你给出的命令来看,你似乎正在使用bash shell。在这种情况下,你们都可以使用
HISTSIZE=0
或者
HISTFILE=
使用第一个(HISTSIZE=
)你将大小设置为零历史对于当前 shell。这意味着执行此命令后,您将不会收到任何来自history
或按UP、CTRL+ R... 的答复。您可以使用HISTSIZE=0; exit
退出 shell 并清除当前 shell 的历史记录。
使用第二个( ),比他的所有变体( , ...)HISTFILE=
短一点,你将继续拥有HISTFILE=/dev/null
unset HISTFILE
历史在当前 shell 中可用,但不会记录您何时退出。
这内置 help history
甚至提出
-C 通过删除所有条目来清除历史列表
如果你使用zsh 外壳 你可以看看这个答案以及提出的解决方案。
答案4
对我来说,以下命令是我所寻找的清除临时终端历史记录的命令:
unset HISTFILE