停止终端保存命令

停止终端保存命令

使用终端时,它会保存之前执行的命令。当我按向上箭头按钮时,它会告诉我们之前运行了哪些命令。

假设我正在使用我朋友的系统并开始使用它的命令行。现在,我的朋友将知道我一直在运行哪些命令。但我不知道是否想让他知道这一点。

有什么办法可以阻止终端为当前会话保存这些命令吗?

(这个问题就假设一下这个场景。我不是作弊者)

答案1

您可以做几件事。

1. 在运行的每个命令前面键入一个空格。

这很乏味,但是在命令前面加上空格将使它们不会被保存到 bash 历史记录中。

2. 设置 Cronjob 每小时删除 .bash_history

您的终端历史命令存储.bash_history在您的主目录中。如果您删除该文件,它将有效地删除您的历史记录。

首先创建删除.bash_history文件的脚本:

nano ~/script.sh

并添加:

#!/bin/bash
rm /home/user/.bash_history

然后运行:

chmod 775 script.sh

使脚本可执行并运行:

crontab -e

并添加1 * * * * * /home/user/script.sh

然后退出并保存,它会每小时删除您的历史记录。

3.unset HISTFILE按照@Carl 的建议运行。

只要在退出终端之前运行它,它就不会保存您在上次会话中运行的那些命令.bash_history

答案2

防止保存 bash 历史记录的经典方法是删除.bash_history它并将其替换为以下链接/dev/null

sudo rm ~/.bash_history
sudo ln -s /dev/null ~/.bash_history

现在不会为当前用户保存任何历史记录。

相关内容