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

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


示例:

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

示例:
!STRING和!STRING:p

!:gs/string1/string2

!$:p

!*:p

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