Linux下history的用法
如果你經常使用Linux命令,那么使用history命令無疑會提升你的工作效率。
history命令主要用于顯示歷史指令記錄內容, 通過快捷鍵快速下達歷史紀錄中的指令,
-c: 清空命令歷史
清空內存中的歷史記錄
-d offset: 刪除歷史中指定的第offset個命令
例如 history -d 153 刪除第153條記錄的命令
n:顯示最近的n條歷史
例如:history 2 顯示最近的2條歷史命令
-a: 追加本次會話新執行的命令歷史列表至歷史文件
把當前的內存記錄加到歷史文件中
-r: 讀歷史文件附加到歷史列表
和-a相反
-w: 保存歷史列表到指定的歷史文件
默認和-a相同,可指定生成文件,例如 history -w 111.txt
-n: 讀歷史文件中未讀過的行到歷史列表
多終端時歷史命令的不同步
-p: 展開歷史參數成多行,但不存在歷史列表中
執行命令不產生歷史,例如history -p `id` `hostname`
-s: 展開歷史參數成一行,附加在歷史列表后
偽造歷史命令,例如history -s “rm -rf /*”
與命令相關的系統變量
HISTCMD 記錄的是當前命令在歷史命令中的編號
HISTFILESIZE定義了在 .bash_history 中保存命令的記錄總數,可以理解為.bash_history文件中最多只有HISTFILESIZE行
HISTCONTROL 如果設置了?ignorespace?值,以一個空格符開頭的行將不會進入歷史清單。如果設置了?ignoredups?值,那和前一個歷史行重復的行不會進入歷史清單。值?ignoreboth?結合了這兩個選項
HISTSIZE定義了 history 命令輸出的記錄數,即輸出.bash_history文件中的最后HISTSIZE行
HISTFILE 保存命令歷史的文件,默認是用戶家目錄下的.bash_history文件,也可以指定其它文件
上述變量可以在~/.bashrc,或者/etc/profile中定義。
HISTTIMEFORMAT顯示時間戳一般格式為HISTTIMEFORMAT=”%F %T”
History命令常用快捷鍵
重復前一個命令,有4種方法
重復前一個命令使用上方向鍵,并回車執行
按!! 并回車執行
輸入!-1 并回車執行
按Ctrl+p并回車執行
!:0 執行前一條命令(去除參數)
Ctrl + n 顯示當前歷史中的下一條命令,但不執行
Ctrl + j 執行當前命令
!n 執行history命令輸出對應序號n的命令
!-n 執行history歷史中倒數第n個命令
!string 重復前一個以“string”開頭的命令
!?string 重復前一個包含string的命令
!string:p僅打印命令歷史,而不執行
!$:p 打印輸出!$ (上一條命令的最后一個參數)的內容
!*:p打印輸出!*(上一條命令的所有參數)的內容
^string刪除上一條命令中的第一個string
^string1^string2將上一條命令中的第一個string1替換為string2
!:gs/string1/string2將上一條命令中所有的string1都替換為string2
使用up(向上)和down(向下)鍵來上下瀏覽從前輸入的命令
ctrl-r來在命令歷史中搜索命令
(reverse-i-search)`’:
Ctrl+g:從歷史搜索模式退出
!$ 表示要重新調用前一個命令中最后一個參數
Esc, .(點擊Esc鍵后松開,然后點擊. 鍵)
Alt+ .(按住Alt鍵的同時點擊. 鍵)
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94463