摘要
终端运行每个命令都会记录下来,每次运行以后,使用history命令就能看到运行记录。出于某种目的,可能不希望让别人看到自己的操作,那么怎么”抹去”这些不想让别人知道的操作呢?
一、前言
终端运行每个命令都会记录下来,每次运行以后,使用history命令就能看到运行记录。出于某种目的,可能不希望让别人看到自己的操作,那么怎么"抹去"这些不想让别人知道的操作呢?
二、可行方案
可以使用很多种方法,个人感觉比较好的方法有两种。
1、使用空格
是的,没看错。在命令前面插入空格,这条命令会被 shell 忽略,也就意味着它不会出现在历史记录中。但是这种方法有个前提,只有在你的环境变量 HISTCONTROL 设置为 "ignorespace" 或者 "ignoreboth" 才会起作用。在大多数情况下,这个是默认值,我们无需设置这个环境变量。
所以,像下面的命令(这里[space]表示输入一个空格):
Shell
[space]echo "this is a top secret"
1[space]echo"this is a top secret"
运行这个echo指令,使用history命令是找不到这个记录的。