如果你登入過 linux 系統,並敲過一些命令,那你應該知道,bash history 會記錄你輸入的所有命令。這個操作其實是有一定風險的。
· exit normally – history 記錄正常寫入
· kill– 伺服器端執行 -kill bash 程序id後就不會再記錄 history 了。我檢查過是否需要加-9引數,不過不用,只需要乙個基本的 kill 命令,就可以殺掉程序並阻止它寫入檔案。
·kill – 客戶端執行–kill ssh 程序 id,即時加了-9引數還是會有歷史記錄。
· set +o history– 不會將任何當前會話寫入日誌。可以在會話期間任何時間執行,並隱藏所有命令。
· set -o history– 重啟日誌記錄,但是會記錄 set 命令,所以會發生一些明顯的變化。
· unset histfile – 清除記錄歷史檔案位置的變數,這樣就不會儲存任何東西
· history -c– 徹底清除歷史。這條命令作用非常明顯,因為所有的歷史命令都沒了。
· export histignore=「ls*:cat*」– 這條命令是不記錄引號中以冒號為分隔符的命令。這條命令可以使用shell模式,有點類似正則,但不盡相同
· export histfilesize=10– 設定歷史記錄數量為10。如果你已經完成了想要隱藏的操作,但又想保留其他的命令,請重新計算,將記錄數的大小設定為小於總數並繼續執行。這樣,所有之前的命令就會不可見,看起來會有一些可疑,但是因為歷史記錄中還是有內容,所以人們可能不會注意到。
· editing the.bash_history file– 如果你在會話期間編輯這個檔案,編輯的內容將會出現在會話的命令之前,這樣你其實可以在 history 中新增一些你實際並沒有執行過的命令,所以這也不失為乙個好辦法。
· using multiple sessions– 乙個會話終止時才會寫入 bash history。那我們可以使用兩個會話,第乙個會話終止會寫入history,然後第二個會話的內容會在第乙個會話終止時才開始寫入 history
· putting a space before a command(命令前面加乙個空格) – 根據配置,在命令前加乙個空格,就會不進行記錄。如果你已經輸入了你不想記錄的命令,那麼這個功能就沒什麼用,但如果想讓幾條好不相關的命令看似一條的話,使用這個還是不錯的。在使用之前請先進行測試,因為根據發行版和使用者配置不同,情況會有所不同。
· history -r– 這條命令會重新讀取 history 檔案,能夠將歷史記錄重置為你登入時的狀態。這條命令似乎非常有用,尤其是你可以編輯 history 檔案,新增命令時,然後關掉 shell。這會寫入經過你修改的 history,不留任何痕跡。
上面這些命令,好像「set +o history」是最好用的也是最通用的方法,因為它會隱藏當前會話的所有命令,但是會保留之前的命令。
不過根據場景不同,其他的命令也是非常有效的。
在你使用這些命令之前,一定要先自己測試一遍。當你已經登入了乙個系統,而且意識到需要隱藏某些命令時,不要慌張,history 只會在會話結束時寫入,所以只要會話還沒有結束,你就可以停下來思考,怎麼去隱藏命令,希望本文的內容能夠幫到你。
Linux中的一些命令
touch 檔名稱已經存在 更新時間 檔名不存在,建立空檔案 mkdir make directory 建立空目錄 如 mkdir dir 1 新增使用者 出現的目錄非空 r r 遞迴 mv 轉移檔案或重新命名 檔案許可權中 表示檔案型別的位置 d 目錄 藍色 檔案 綠色 紅色 黑色 l 鏈結檔案 ...
關於同名隱藏的一些思考
關於同名隱藏的一些思考,不一定對。高質量c c 程式設計指南 中有提到同名隱藏即 子類子類中的同名函式遮蔽了父類的同名基類方法,其規則如下 如果子類的函式名與基類的函式名同名,但是引數不同,此時,無論有無virtual修飾,基類函式都將被 隱藏 依舊被繼承 如果子類的函式名與其引數都與父類相同,但是...
一些linux命令
rpm ql mplayer cat n檢視軟體包資訊 另外補充下 root centos5h wc help 用法 wc 選項 檔案 print newline,word,and byte counts for each file,and a total line if more than one...