history命令詳解

   有效地使用命令歷史機制將會使效率獲得極大提升。
history:
   保存你輸入的命令歷史。 可以用它來重復執行命令。
   history [-c] [-d offset] [n]
   history -anrw [filename]
   history -ps arg [arg…]
    -c: 清空命令歷史
    -d offset: 刪除歷史中指定的第offset個命令
    n: 顯示最近的n條歷史
    -a:append, 追加本次會話新執行的命令歷史列表至歷史文件
    -n: 讀歷史文件中未讀過的行到歷史列表
    -r: 讀歷史文件附加到歷史列表
    -w: 保存歷史列表到指定的歷史文件
    -p: 展開歷史參數成多行,但不存在歷史列表中
    -s: 展開歷史參數成一行,附加在歷史列表后(偽造命令歷史)
1、四種方法快速執行之前的命令
   1)用向上鍵查看上條命令,按回車執行。 
   2)在命令行中輸入!!并按回車。 
   3)在命令行中輸入!-1并按回車。 
   4)按Ctrl+p顯示上條命令,按回車執行
2、用Ctrl + r搜索歷史命令
   按下Ctrl +r然后輸入關鍵字。
   在命令行提示符下按下Ctrl+r,終端將顯示如下提示reverse-i-search:
   (reverse-i-search)red: cat/etc/redhat-release 

   當看到你要的命令后按回車鍵,就可以重新執行這條命令了 

history命令詳解

   ctrl+g 從歷史搜索模式中退出
3、執行歷史命令中的特定命令

   !n 執行history命令輸出對應序號n的命令

history命令詳解

   !-n 執行history歷史中倒數第n個命令

history命令詳解

4、使用特定字符執行歷史命令
   !string 重復前一個以“ string” 開頭的命令

   !?string 重復前一個包含string的命令

history命令詳解

   !string:p 僅打印命令歷史,而不執行
   !$:p 打印輸出上一個命令的內容而不執行
   !:p 打印輸出 !( 所有參數) 的內容(?)
   ^string 刪除上一條命令中的string
   ^string1^string2 將上一條命令中的第一個string1替換為string2
   !!:gs/string1/string2 將上一條命令中所有的string1都替換為 string2
5、命令歷史相關的環境變量
   HISTSIZE: 命令歷史記錄的條數(默認最多1000條)
   HISTFILE: 指定歷史文件, 默認為~/.bash_history(當前家目錄下)
   HISTFILESIZE: 命令歷史文件記錄歷史的條數(默認最多1000條)
   HISTTIMEFORMAT=“%F %T “ 顯示時間
   HISTIGNORE=“str1:str2:… “ 忽略包含string1,string2歷史
   控制命令歷史的記錄方式:
     環境變量: HISTCONTROL
     ignoredups 默認, 忽略重復的命令, 連續且相同為“ 重復”
     ignorespace 忽略所有以空白開頭的命令
     ignoreboth 相當于ignoredups, ignorespace的組合
     erasedups 刪除重復命令
     export 變量名=”值“(定義系統變量或者環境變量)
     存放在 /etc/profile 或 ~/.bash_profile
6、要重新調用前一個命令中最后一個參數
   1)!$ 表示
   2)Esc, .( 點擊Esc鍵后松開,然后點擊 . 鍵)
   3)Alt+ .( 按住Alt鍵的同時點擊 . 鍵)
7、注意
   1)登錄shell時,會讀取命令歷史文件(~/.bash_history)中記錄下的命令;
   2)登錄進shell后新執行的命令只會記錄在緩存中,這些命令會用戶退出時“ 追加” 至命令歷史文件中。

原創文章,作者:張 潔,如若轉載,請注明出處:http://www.www58058.com/71733

(2)
張 潔張 潔
上一篇 2017-03-26 14:58
下一篇 2017-03-26 16:18

相關推薦

  • N22-Dexter-第二周博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示?    Linux上的文件管理類命令有cp,rm,mv    cp命令:copy    常用選項:       -i:交互式復制,即覆蓋之前提醒用戶確認;     &nbsp…

    Linux干貨 2016-08-24
  • MBR

    關于磁盤的使用,必須要弄明白MBR 分區劃分方式     centos 6:扇區劃分     centos 7:柱面劃分 MBR:Master Boot Record:512bytes 0磁道0扇區 512bytes=446bytes(boot loader) + 4*16byt…

    Linux干貨 2016-09-05
  • Linux cluster集群全講解

    ? ? ? ? ? ? ? ? ?Linux cluster集群 Linux cluster(集群): cluster:計算機組合,為解決某個特定問題組合起來形成的單個系統; ? Linux Cluster類型: ???LB:Load Balancing,負載均衡; ???HA:High Availiablity,高可用; ???A=MTBF(平均無故障時長…

    2016-11-18
  • ?Linux基礎知識之磁盤及文件系統管理(一)

    1.設備類型:     塊設備(block):隨機訪問,數據交換單位是"塊"     字符設備(character):線性訪問,數據交換的單位是"字符" 2.設備文件:FHS     /dev &nb…

    Linux干貨 2016-08-29
  • Linux刪除特殊字符文件

    由于很多原因可能會導致一些文件的文件名是亂碼,當我們刪除的時候就會發現這個文件名既不能自動補全,也不能直接刪除。

    2017-11-11
  • linux學習筆記: shell腳本編程相關(上)

    前言 unix/linux操作系統下的shell,是一種殼,其目的是提供一個用戶與計算機相互交互的命令接口,通過輸入各種命令,達到操作的目的。 與此同時,shell支持控制流程,進而可以組合出各種各樣的應用實例。 shell腳本的格式  首行shebang機制:  bash腳本,首行添加#!/bin/bash&nbsp…

    Linux干貨 2017-04-18

評論列表(1條)

  • renjin
    renjin 2017-04-05 10:29

    history的用法寫的很詳細,包括一些調用命令歷史的方法都寫的挺詳細的,不過排版可以再好一些

欧美性久久久久