Linux下history命令的介紹
一、用處
對于Linux而言,命令是人機交互的重要方式,而查看命令歷史可以幫助我們了解系統的使用狀態、增強安全性也可以調用歷史達到快捷操作的目的。
二、命令行歷史
執行過的命令會被存入緩存,當正常退出shell時,緩存中的命令會被寫入文件中并保存在用戶下的隱藏文件文件.bash_history中。當用戶登陸時內存會在文件中讀取命令歷史再次存入緩存。
三、命令歷史的調用
重復執行上一條命令有四種方法:
重復前一個命令使用上方向鍵,并回車執行;
按 !! 并回車執行;
輸入 !-1 并回車執行;
按 Ctrl+p 并回車執行。
幾個實用操作:
!字符串:重復前一個以“字符串”開頭的命令:
!num:按照history命令輸出中的序號重復對應命令:
!?字符串:重復前一個包含該字符串的命令:
!-n :重復n個命令之前的那個命令:
在命令提示符中,使用↑(向上)和↓(向下)鍵來上下瀏覽從前輸入的命令。
鍵入ctrl+r來在命令歷史中搜索命令
四、歷史參數的調用
#cmd !^ : 利用上一個命令的第一個參數做cmd的參數
#cmd !$ : 利用上一個命令的最后一個參數做cmd的參數
也可以使用:Esc, .(點擊Esc鍵后松開,然后點擊 . 鍵)或 Alt+ .(按住Alt鍵的同時點擊 . 鍵) #cmd !* : 利用上一個命令的全部參數做cmd的參數
#cmd !:n : 利用上一個命令的第n個參數做cmd的參數
!n:^ 調用第n條命令的第一個參數
!n:$ 調用第n條命令的最后一個參數
!m:n 調用第m條命令的第n個參數
!n:* 調用第n條命令的所有參數
!string:^ 從命令歷史中搜索以string 開頭的命令,并獲取它的第一個參數
!string:$ 從命令歷史中搜索以 string 開頭的命令,并獲取它
的最后一個參數
!string:n 從命令歷史中搜索以 string 開頭的命令,并獲取
它的第n個參數
!string:* 從命令歷史中搜索以 string 開頭的命令,并獲取
它的所有參數
五、history命令
Linux下history是一個內部命令,主要用于顯示緩存中歷史指令記錄內容, 或下達歷史紀錄中的指令。
一些常用命令:
-c:用于清空緩存中的命令歷史
-d:刪除歷史中指定的命令;
#: 顯示最近的#條歷史;
-a: 把本次會話中新執行的命令歷史列表從緩存追加至歷史文件~/.bash_history中;
-n: 顯示歷史文件~/.bash_history中未讀過的行到歷史列表,例如多個終端登錄同一個用戶時,緩存中的命令不會同步,使-n選項可以同步個終端的命令到歷史列表中。
-r: 把歷史文件~/.bash_history中的命令附加到內存的歷史列表中,每次打開shell都會默認執行類似操作;
-w: 保存歷史列表到指定的歷史文件;
-p: 展開歷史參數成多個行,但不存在歷史列表中;
-s: 展開歷史參數成一行,附加在歷史列表后(可以用來偽造命令)
六、命令歷史的相關環境變量
HISTSIZE:定義內存中緩存命令條數的最大值;
HISTFILE:指定歷史文件,默認為~/.bash_history;
HISTFILESIZE:命令歷史文件記錄歷史的條數,用法與HISTSIZE相同;
HISTTIMEFORMAT=“%F %T“ 顯示時間:
HISTIGNORE="str1:str2: "忽略帶有string1,string…”字符的歷史命令。
HISTCONTROL: 控制命令歷史的記錄方式
ignoredups:忽略命令歷史中已有的命令,且只記錄第一條命令的時間;
ignorespace:忽略所有以空白行開頭的命令
ignoreboth:相當于ignoredups,ignorespace組合效果
erasedups:刪除已有的重復命令
原創文章,作者:zhanghuanyu,如若轉載,請注明出處:http://www.www58058.com/26143
寫的很好,但是字體能統一一下會更好!!!