總結歷史命令管理以及用法

shell進程會在其會話中保存此前用戶提交執行過的命令,可以用它來重複執行命令;包括關機之前的指令。在exit之前,你所操作的歷史命令都是儲存在內存中,所以你只需要history就能找到在這之前的命令,exit之後,內存中的歷史命令會保存在.bash_history中,以便再次登錄能夠查看之前操作的歷史命令。
現在就讓我們看看history命令的具體用法
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps [arg]

-c 清空歷史命令
-d offset 刪除歷史命令中的第offset個命令
n 顯示最近的n條命令
-a 追加本次會話新執行的命令歷史列表中至歷史文件
-r  讀取歷史文件附加到歷史列表
-w 保存歷史列表到指定的歷史文件
-n 讀取歷史文件中未度過的行到歷史列表
-p 展開歷史參數成多行,但不存在歷史列表中
-s 展開歷史參數或行附加到歷史列表後

還有歷史命令相關的環境變量
    HISTSIZE 歷史命令記錄的數量
    HISTFILE 指定歷史命令文件(默認爲~/.bash_history)
    HISTFILESIZE 命令歷史文件記錄歷史的數量
    HISTGNORE="str1:str2*" 忽略str1,str2開頭的歷史
    HISTCONTROL
                    ignoredups(默認) :忽略重複的命令,注:連續相同的爲重複
                    igonrespace :忽略所有空白開頭的命令
                    igonreboth :二者合一
                    erasedips :刪除重複命令

基於歷史命令的一些命令,及用法
重複前一個命令
1、向上方向鍵
2、!!
3、! -1
4、ctrl +p
!:0 執行前一條命令(去除參數)
ctrl+n 顯示當前歷史命令中的下一條命令
ctrl+j執行當前命令
!n 執行歷史命令中第n條歷史命令
!-n 執行歷史命令中倒數n條歷史命令
!string 重複前一個一“string”開頭的命令
!?string 重複前一個包含“string”的命令
!string:p 僅打印歷史命令但不執行
!$:p 打印輸出!$(上一個命令的最後一個參數)的內容
! :p 打印輸出!(上一條命令所有參數)的內容
^string 刪除上一條歷史命令中第一個string
^string1^string2 將上一條歷史命令中的第一個string1替換爲string2
!:gs/string1/string2 將上一條歷史命令中所有的string1替換爲string2
ctrl + r 搜索歷史命令
ctrl + g 退出歷史搜索模式
重新調用前一個命令中最後一個參數:!$

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