使用终端时,它会保存之前执行的命令。当我按向上箭头按钮时,它会告诉我们之前运行了哪些命令。
假设我正在使用我朋友的系统并开始使用它的命令行。现在,我的朋友将知道我一直在运行哪些命令。但我不知道是否想让他知道这一点。
有什么办法可以阻止终端为当前会话保存这些命令吗?
(这个问题就假设一下这个场景。我不是作弊者)
答案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
现在不会为当前用户保存任何历史记录。