linux history命令详解
生活随笔
收集整理的這篇文章主要介紹了
linux history命令详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
命令行歷史
當執(zhí)行命令后,系統(tǒng)默認會在內(nèi)存記錄執(zhí)行過的命令
當用戶正常退出時,會將內(nèi)存的命令歷史存放對應(yīng)歷史文件中,默認是 ~/.bash_history
登錄shell時,會讀取命令歷史文件中記錄下的命令加載到內(nèi)存中
登錄進shell后新執(zhí)行的命令只會記錄在內(nèi)存的緩存區(qū)中;這些命令會用戶正常退出時“追加”至命令歷史文件中
利用命令歷史。可以用它來重復執(zhí)行命令,提高輸入效率
1. 命令:history
history [-c] [-d offset] [n] history -anrw [filename] history -ps arg [arg...]2. 常用選項
| -c | 清空命令歷史 |
| -d offset | 刪除歷史中指定的第 offset 個命令 |
| n | 顯示最近的 n 條歷史 |
| -a | 追加本次會話新執(zhí)行的命令歷史列表至歷史文件 |
| -r | 讀歷史文件附加到歷史列表 |
| -w | 保存歷史列表到指定的歷史文件 |
| -n | 讀歷史文件中未讀過的行到歷史列表 |
| -p | 展開歷史參數(shù)成多行,但不存在歷史列表中 |
| -s | 展開歷史參數(shù)成一行,附加在歷史列表后 |
3. 命令歷史相關(guān)環(huán)境變量
| HISTSIZE | 命令歷史記錄的條數(shù) |
| HISTFILE | 指定歷史文件,默認為~/.bash_history |
| HISTFILESIZE | 命令歷史文件記錄歷史的條數(shù) |
| HISTTIMEFORMAT="%F %T $(whoami) " | 顯示時間和用戶 |
| HISTIGNORE="str1:str2*:..." | 忽略str1命令,str2開頭的歷史 |
| HISTCONTROL | 控制命令歷史的記錄方式 ignoredups 是默認值,可忽略重復的命令,連續(xù)且相同為“重復” ignorespace 忽略所有以空白開頭的命令 ignoreboth 相當于ignoredups, ignorespace的組合 erasedups 刪除重復命令 |
4. 持久保存變量
以上變量可以 export 變量名=“值” 形式存放在 /etc/profile 或 ~/.bash_profile
示例
[root@centos ~]#cat .bash_profile # .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then. ~/.bashrc fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATH export HISTCONTROL=ignoreboth export HISTTIMEFORMAT="%F %T " [root@centos ~]#[root@centos /]#history 5123 2021-03-25 15:52:15 cd ~124 2021-03-25 15:52:16 pwd125 2021-03-25 15:52:18 cd /126 2021-03-25 15:52:19 pwd127 2021-03-25 15:52:30 history 5 [root@centos /]#5. 調(diào)用命令行歷史
# 重復前一個命令方法 重復前一個命令使用上方向鍵,并回車執(zhí)行 1. 按 !! 并回車執(zhí)行 2. 輸入!-1 并回車執(zhí)行 3. 按 Ctrl+p 并回車執(zhí)行使用up(向上)和down(向下)鍵來上下瀏覽從前輸入的命令 ctrl-r來在命令歷史中搜索命令 (reverse-i-search)`’: Ctrl+g:從歷史搜索模式退出| !:0 | 執(zhí)行前一條命令(去除參數(shù)) |
| !n | 執(zhí)行history命令輸出對應(yīng)序號n的命令 |
| !-n | 執(zhí)行history歷史中倒數(shù)第n個命令 |
| !string | 重復前一個以“string”開頭的命令 |
| !?string | 重復前一個包含string的命令 |
| !string:p | 僅打印命令歷史,而不執(zhí)行 |
| !$:p | 打印輸出 !$ (上一條命令的最后一個參數(shù))的內(nèi)容 |
| !*:p | 打印輸出 !*(上一條命令的所有參數(shù))的內(nèi)容 |
| ^string | 刪除上一條命令中的第一個string |
| ^string1^string2 | 將上一條命令中的第一個string1替換為string2 |
| !:gs/string1/string2 | 將上一條命令中所有的string1都替換為string2 |
| command !^ | 用上一個命令的第一個參數(shù)做command的參數(shù) |
| command !$ | 利用上一個命令的最后一個參數(shù)做command的參數(shù) |
| command !* | 利用上一個命令的全部參數(shù)做command的參數(shù),如 ls !* |
| command !:n | 利用上一個命令的第n個參數(shù)做command的參數(shù) |
| command !n:^ | 調(diào)用第n條命令的第一個參數(shù) |
| command !n:$ | 調(diào)用第n條命令的最后一個參數(shù) |
| command !n:m | 調(diào)用第n條命令的第m個參數(shù) |
| command !n:* | 調(diào)用第n條命令的所有參數(shù) |
| command !string:^ | 從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個參數(shù) |
| command !string:$ | 從命令歷史中搜索以 string 開頭的命令 ,并獲取它的最后一個參數(shù) |
| command !string:n | 從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個參數(shù) |
| command !string:* | 從命令歷史中搜索以 string 開頭的命令 ,并獲取它的所有參數(shù) |
總結(jié)
以上是生活随笔為你收集整理的linux history命令详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 送送送!这本python少儿编程书籍竟然
- 下一篇: ubuntu tweak_如何使用Ubu