linux+历史命令',Linux历史命令管理以及用法
# **history命令管理及用法總結**
**命令歷史:**shell進程會在其會話中保存此前用戶提交執行過的命令,可以用它來重復執行命令;包括關機之前的指令
~]# history
示例

**定制history的功能,可通過改變環境變量的具體值來實現:**
| 環境變量 | 意義 |
| -------- | -------- |
|HISTSIZE | shell進程可保留的命令歷史的條數 |
|HISTFILE | 持久保存命令歷史的文件 |
| HISTFILESIZE | 命令歷史文件的大小 |
| HISTTIMEFORMAT=“%F %T “ | 顯示時間 |
|HISTIGNORE=“str1:str2:… “ | 忽略str1命令,str2開頭的歷史 |
***控制命令歷史記錄的方式:***
賦予環境變量 HISTCONTROL不同的值即可改變命令歷史記錄的方式;
修改變量的值的方式:NAME='VALUE',如HISTCONTROL=ignorespace
| 環境變量值 | 意義 |
| -------- | -------- |
|ignoredups | 忽略重復的命令 |
|ignorespace| 忽略以空白字符開頭的命令 |
|ignoreboth| 以上兩者同時生效 |
|erasedups| 刪除重復命令 |
登錄shell時,會讀取命令歷史文件中記錄下的命令,命令歷史文件路徑為.bash_history
~]# cat.bash_history
登錄進shell后新執行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
**命令用法:**
**history [-c] [-d 偏移量] [n]**
| 選項 | 效果 |
| -------- | -------- |
|-c | 清空命令歷史 |
|-d offset| 刪除歷史中指定的第offset個命令|
|n| 顯示最近的n條歷史 |
示例:


示例:

**history -anrw [文件名]**
| 選項 | 效果 |
| -------- | -------- |
|-a | 追加本次會話新執行的命令歷史列表至歷史文件 |
|-n| 讀歷史文件中未讀過的行到歷史列表|
|-r|讀歷史文件附加到歷史列表 |
|-w| 保存緩存中的歷史列表到指定的歷史文件 |
**history -ps 參數 [參數...]**
| 選項 | 效果 |
| -------- | -------- |
|-p| 展開歷史參數成多行,但不存在歷史列表中 |
|-s|展開歷史參數成一行,附加在歷史列表后|
**調用命令歷史列表中的命令或命令參數:**
| 按鍵(鍵入) | 效果 |
| -------- | -------- |
|↑或↓|上下瀏覽從前輸入的命令 |
|!#|再一次執行歷史列表中的第#條命令|
|!:0|執行前一條命令(去除參數)|
|!-n|執行history歷史中倒數第n個命令|
|!!|再一次執行上一條命令|
|!STRING|再一次執行命令歷史列表中最近一個以STRING開頭的命令|
|!STRING:p|僅打印最近一個以STRING開頭命令歷史,而不執行|
|!?STRING|重復前一個包含STRING的命令|
|!:gs/string1/string2|將上一條命令中所有的string1都替換為 string2|
|Ctrl + p|翻出前一條命令|
|Ctrl + n |顯示當前歷史中的下一條命令,但不執行|
|Ctrl + j |執行當前命令|
|Ctrl + r|在命令歷史中搜索命令|
|Ctrl + g|從歷史搜索模式退出|
|!$或先按ESC,再按 .鍵或Alt+ .(按住Alt鍵的同時點擊.鍵)|調用上一條命令的最后一個參數|
|!$:p|打印輸出 !$ (上一條命令的最后一個參數)的內容|
|!*:p|打印輸出!*(上一條命令的所有參數)的內容|
|^string|刪除上一條命令中的第一個string|
|^string1^string2|將上一條命令中的第一個string1替換為string2|
*注:Alt+ .的調用方式需在XShell中設置Meta鍵仿真,如下圖所示*

示例:
!STRING和!STRING:p

!:gs/string1/string2

!$:p

!*:p

總結
以上是生活随笔為你收集整理的linux+历史命令',Linux历史命令管理以及用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html游戏源妈简单,最简单的HTML5
- 下一篇: linux 其他常用命令