1. 程式人生 > >Linux歷史命令管理以及用法

Linux歷史命令管理以及用法

resp 字符 images col val 多行 所有 linu ces

history命令管理及用法總結

命令歷史:shell進程會在其會話中保存此前用戶提交執行過的命令,可以用它來重復執行命令
   ~]# history
     包括關機前的命令;
     定制history的功能,可通過環境變量實現:
       HISTSIZE:shell進程可保留的命令歷史的條數;
       HISTFILE:持久保存命令歷史的文件;

       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鍵仿真,如下圖所示
技術分享圖片

   !$:p:打印輸出 !$ (上一條命令的最後一個參數)的內容
   !:p:打印輸出 !(上一條命令的所有參數)的內容

Linux歷史命令管理以及用法