Linux歷史命令管理以及用法
阿新 • • 發佈:2019-03-24
resp 字符 images col val 多行 所有 linu ces history命令管理及用法總結
HISTFILESIZE:命令歷史文件的大小;
HISTTIMEFORMAT=“%F %T “:顯示時間
HISTIGNORE=“str1:str2:… “:忽略str1命令,str2開頭的歷史
控制命令歷史記錄的方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令;
ignorespace:忽略以空白字符開頭的命令;
ignoreboth:以上兩者同時生效;
erasedups:刪除重復命令;
修改變量的值:
NAME=‘VALUE‘,如HISTCONTROL=ignorespace
登錄shell時,會讀取命令歷史文件中記錄下的命令
~]# cat .bash_history
登錄進shell後新執行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
命令用法:
history [-c] [-d 偏移量] [n]
history -anrw [文件名]
history -ps 參數 [參數...]
-c: 清空命令歷史
-d offset: 刪除歷史中指定的第offset個命令
n: 顯示最近的n條歷史
-a: 追加本次會話新執行的命令歷史列表至歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-p: 展開歷史參數成多行,但不存在歷史列表中
-s: 展開歷史參數成一行,附加在歷史列表後
調用命令歷史列表中的命令:
使用↑(向上)和↓(向下)鍵來上下瀏覽從前輸入的命令
↑:翻出上條命令
!#:再一次執行歷史列表中的第#條命令;
!:0:執行前一條命令(去除參數);
!-n:執行history歷史中倒數第n個命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
!?STRING 重復前一個包含STRING的命令
!STRING:p 僅打印命令歷史,而不執行
!:gs/string1/string2:將上一條命令中所有的string1都替換為 string2
Ctrl + p:翻出前一條命令;
Ctrl + n :顯示當前歷史中的下一條命令,但不執行;
Ctrl + j :執行當前命令;
Ctrl + r:來在命令歷史中搜索命令
Ctrl + g:從歷史搜索模式退出
調用上一條命令的最後一個參數:
字符串:!$
快捷鍵:先按ESC,再按 .
Alt+ .(按住Alt鍵的同時點擊 . 鍵)
註:此種調用方式需在XShell中設置Meta鍵仿真,如下圖所示
命令歷史:shell進程會在其會話中保存此前用戶提交執行過的命令,可以用它來重復執行命令
~]# history
包括關機前的命令;
定制history的功能,可通過環境變量實現:
HISTSIZE:shell進程可保留的命令歷史的條數;
HISTFILE:持久保存命令歷史的文件;
HISTTIMEFORMAT=“%F %T “:顯示時間
HISTIGNORE=“str1:str2:… “:忽略str1命令,str2開頭的歷史
控制命令歷史記錄的方式:
環境變量:HISTCONTROL
ignorespace:忽略以空白字符開頭的命令;
ignoreboth:以上兩者同時生效;
erasedups:刪除重復命令;
修改變量的值:
登錄shell時,會讀取命令歷史文件中記錄下的命令
~]# cat .bash_history
登錄進shell後新執行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
命令用法:
history [-c] [-d 偏移量] [n]
history -anrw [文件名]
history -ps 參數 [參數...]
-c: 清空命令歷史
-d offset: 刪除歷史中指定的第offset個命令
n: 顯示最近的n條歷史
-a: 追加本次會話新執行的命令歷史列表至歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-p: 展開歷史參數成多行,但不存在歷史列表中
-s: 展開歷史參數成一行,附加在歷史列表後
調用命令歷史列表中的命令:
使用↑(向上)和↓(向下)鍵來上下瀏覽從前輸入的命令
↑:翻出上條命令
!#:再一次執行歷史列表中的第#條命令;
!:0:執行前一條命令(去除參數);
!-n:執行history歷史中倒數第n個命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
!?STRING 重復前一個包含STRING的命令
!STRING:p 僅打印命令歷史,而不執行
!:gs/string1/string2:將上一條命令中所有的string1都替換為 string2
Ctrl + p:翻出前一條命令;
Ctrl + n :顯示當前歷史中的下一條命令,但不執行;
Ctrl + j :執行當前命令;
Ctrl + r:來在命令歷史中搜索命令
Ctrl + g:從歷史搜索模式退出
調用上一條命令的最後一個參數:
字符串:!$
快捷鍵:先按ESC,再按 .
Alt+ .(按住Alt鍵的同時點擊 . 鍵)
註:此種調用方式需在XShell中設置Meta鍵仿真,如下圖所示
!$:p:打印輸出 !$ (上一條命令的最後一個參數)的內容
!:p:打印輸出 !(上一條命令的所有參數)的內容
Linux歷史命令管理以及用法