Linux Bash環境下,輸入指令不留痕跡的作法
- HISTCONTROL=ignorespace
執行以上的變數設定,之後只要是comannd前有空白的話,history將不會記錄你下的command。[root@me] ~
$ echo wawa
wawa[root@me] ~
$ echo bebo #echo前有加空格
bebo[root@me] ~
$ history tail -2
16 echo wawa
echo bebo 那行並不會出現在history的記錄當中
17 history tail -10 - HISTCONTROL=ignoredups
執行以上的變數設定,之後只要是重複下的指令,只會被記錄一次。[root@me] ~
$ echo easylife #echo 4次easylife
easylife[root@me] ~
$ echo easylife
easylife[root@me] ~
$ echo easylife
easylife[root@me] ~
$ echo easylife
easylife[root@me] ~
$ echo good #echo 1次good
good[root@me] ~
$ history tail -5
38 echo easylife
echo easylife 4次卻只出現一筆記錄
39 echo good
40 history tail -5 - HISTCONTROL=ignoreboth
這個就是結合以上兩種,就不再示範囉!
或許有人想說這的確是不錯的一個資訊,只是到底用到的時機到底是什麼時候?我在這邊可以簡易分享我所想到的用途,首先我絕對會把HISTCONTROL=ignorespace加到.bashrc裡面去,這樣以後只要登入系統就自動生效了,避免自己再去手動執行一次留下記錄(HISTCONTROL=ooxx的記錄),到時候老闆查歷史記錄還會問說你下那行幹嘛?有種你可以回答「做壞事」本站下載" border="0">改密碼可以用!
若你管理的linux主機很多台,一台一台改密碼只有勞累而已,若你有script的能力,以後改密碼就是批次全部改完而已,連密碼都可以亂數產生(這個自己寫),簡單來說只是用到passwd --stdin的參數。
[root@me] ~
$ echo "ilovewawa" passwd --stdin root && history tail -3
Changing password for user root.
passwd: all authentication tokens updated successfully. #我改完密碼囉!
53 who
54 ls
55 who #歷史記錄渾然不覺
$ echo "ilovewawa" passwd --stdin root && history tail -3
Changing password for user root.
passwd: all authentication tokens updated successfully. #我改完密碼囉!
53 who
54 ls
55 who #歷史記錄渾然不覺
http_proxy和ftp_proxy可以用
先參照「Text Mode Use Http Proxy On Linux」了解一下用途,參照完之後可以了解如何在text mode透過http proxy連線,之前我還寫了一小段function加入在.bashrc,就是要避免帶帳號密碼的http_proxy在history中留下記錄,今天知道了HISTCONTROL的用法後,其實http_proxy帶帳號密碼的問題就可以不留痕跡囉!參考文章
http://plog.longwin.com.tw/my_note-unix/2009/04/22/linux-set-history-not-record-space-command-2009
http://linux.about.com/cs/linux101/g/histcontrolenvi.htm好久沒有更新linux的文章囉