不留痕跡的清除部分history歷史命令記錄

有時候只想清除自己執行的一些歷史命令,而不想清除整個系統的歷史命令,而且也不想讓別人看到自己有編輯過.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

  

不要用來做壞事哦。

PS.生產環境中,能用oracle linux 6及以上的版本儘量用6以上的版本,6以下的版本有很多坑,很多東西不完善。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章