有時候只想清除自己執行的一些歷史命令,而不想清除整個系統的歷史命令,而且也不想讓別人看到自己有編輯過.bash_history文件。
有的人會說直接使用history -c命令來清除。
這種方法不是不可以,不過要注意自己的系統版本。
有些系統版本是會把.bash_history里的所有歷史命令清除掉的。
我測試的兩種環境:
1
2
|
oracle linux 5.8 2.6.32-300.10.1.el5uek
oracle linux 6.4 2.6.39-400.17.1.el6uek
|
在6.4系統中
如果想刪除自己當前會話中執行過的歷史命令就很簡單了。
直接執行history -c命令
執行完history -c,如果沒有退出當前會話,你執行history命令看不到任何命令了,不過你退出會話重新登錄一下,再執行history命令,會發現除了上一次會話執行過的命令外,其它以前的命令都在。
如果退出會話后,再想刪除自己的執行過的命令,就需要用下面的方法了。
在5.8系統中
如果直接執行history -c命令,就會把.bash_history里的所有歷史命令清除掉,這不是我們想看到的。
這里分享幾個隱藏自己執行命令的兩個小技巧:
第一種方法:
在退出會話前直接執行:
#history -r
清除當前會話的命令歷史記錄
第二種方法:
在vim中執行自己不想讓別人看到的命令
隨便用vim打開一個文件
:set history=0
:!command
第三種方法:
是執行完命令后已經退出了會話,再想刪除不想讓別人看到的命令。
這個操作要退出當前會話,再重新登錄后再操作。
重新登錄后也是隨便用vim打開一個文件
然后再用vim的分屏功能打開.bash_history
:set history=0
:vsp ~/.bash_history
然后就可以在里面編輯.bash_history刪除歷史命令了。
弄完可以再把vim的歷史命令記錄調回去。
:set history=20