tab鍵 history 命令的相關巧用

Tab鍵的妙用

      1.command沒有完全輸入時: 點擊tab,如果能唯一匹配到命令,則直接補全,否則需要點擊兩下tab來顯示能夠匹配到的命令。

        tab鍵  history 命令的相關巧用

      2./2tab : 顯示根目錄下的所有目錄,包含隱藏的目錄。相當于 ls -Ad /*/

        tab鍵  history 命令的相關巧用

      3../2tab 和 *2tab : 顯示當前目錄下的子目錄。 相當于 ls -Ad ./*/

        

      4.~2tab : 顯示所有用戶列表

        tab鍵  history 命令的相關巧用

      5.$2tab : 顯示所有變量

         tab鍵  history 命令的相關巧用   

      6.@2tab : 顯示 /etc/hosts 記錄

    *注:centos 7 此功能沒有了

      7.=2tab:列出該目錄下所有文件 相當于 ls -A *注:centos 7 需要在等號后面接一個空格

        tab鍵  history 命令的相關巧用

history命令相關的引

  • 對歷史命令執行

    !!: 再次執行上一條命令

    *ctrl+p ,執行: 也可以執行上一條命令

    !-#:執行歷史命令中的倒數第#條命令

    !#:執行歷史中的第#條命令

    !字符串:執行最近一條以給定字符串開頭的命令

    ???字符(串):執行最近一條包含給定字符(串)的命令

    重要 :以下為對歷史命令的處理(這個方法可能不常用,但仔細研究可以探知linux文本編輯思想)
    ^字符串 :刪掉上一條命令中的給定字符串并執行 
      tab鍵  history 命令的相關巧用
    ^字符串1^字符串2:將上一條命令中的字符串1改為字符串2并執行

        tab鍵  history 命令的相關巧用 
  • !!:gs/字符串1/字符串2:將上一條命令中的所有字符串1修改為字符串2并執行 (替換機制類似于vim中的全局替換)

                    tab鍵  history 命令的相關巧用

  • 搜索命令:

    ctrl+r :出現以下界面,輸入關鍵字進行搜索

    ctrl+g:退出命令的搜索  
      tab鍵  history 命令的相關巧用 

  • (常用) 調用歷史命令的參數:(這里主要集中對^ & * n :p 的匯總應用)

    command ESC . :調用上一條命令的最后一個參數
        tab鍵  history 命令的相關巧用

    command !^:調用上一條命令的第一個參數
    tab鍵  history 命令的相關巧用

    command !$:調用上一條命令的最后一個參數,同 esc .

    command !*:調用上一條命令的所有參數

    command !:n:調用上一條命令的第n個參數
    tab鍵  history 命令的相關巧用
    tab鍵  history 命令的相關巧用

    注:這里 ! 類似于上一條命令的變量,注意比較下面的 !m 以及 !string.

    command !m:^:調用第m條命令的第一個參數
    tab鍵  history 命令的相關巧用

    command !m:$:調用第m條命令的最后一個參數

    command !m:n:調用第m條命令的第n個參數

    command !m:*: 調用第m條命令的所有參數

    command !string:^: 調用以給定字符串開頭的最近的命令的第一個參數

    command !string:$: 調用以給定字符串開頭的最近的命令的最后一個參數

    command !string:n: 調用以給定字符串開頭的最近的命令的第n個參數

    command !string:: 調用以給定字符串開頭的最近的命令的所有參數

  • 通過:p 指令對符合搜索條件的命令或參數只是顯示不執行。

    !*:p : 顯示上一條命令的所有參數

    !$:p :顯示上一條命令的最后一個參數

    !^:p : 顯示上一條命令的第一個參數。

    !string:p:顯示第一個以給定字符串開頭的命令,但是不執行。

  • 歷史命令的變量的妙用,如果想永久修改變量,請編輯~/.bash_profile。 *

    • HISTIGNORE=“str1:str2:…”: 對歷史命令的顯示忽略str1,str2,…
      tab鍵  history 命令的相關巧用
      tab鍵  history 命令的相關巧用

      *注意這里的字符串必須時完整的,如果想輸入關鍵字,需加上*符號
          此變量只對該變量生效后輸入的命令有效。
    • HISTTIMEFORMATE=”%T %F” 在歷史命令列表中顯示時間。
      tab鍵  history 命令的相關巧用

      注意:(變量設置只對電腦開機后輸入的命令有效,)
        最后變量參數后面最好加空格,以免顯示出來的信息混亂。

      HISTCONTROL=ignoredups :忽略重復的命令只顯示一次(這里是對參數生效后且連續輸入的命令起作用)HISTCONTROL=erasedups:擦除和當前輸入的重復的命令,只對當前內存中的命令有作用,對文件中的記錄沒有作用。

  • 歷史命令的選項妙用:

    -c :清空歷史命令(這里清空的時內存中保存的命令記錄)

    -a: 追加當前內存中的命令到命令文件中

    -w:把內存中的命令覆蓋到命令文件中

    `注意`:這兩個選項,-a 會出現更多的重復記錄

    -a -w 具體區別請參照網上鏈接

    -n:讀取命令歷史文件中新寫入的命令。(不同人登陸同一賬戶時常用)

    -r:讀取命令歷史文件到內存。

    -p: history -p `command` `command` :悄悄的執行命令 不記錄歷史

    -s:history -s `command` `command` :只寫入歷史文件但不執行命令

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

(0)
zhoulzzhoulz
上一篇 2017-02-18 10:03
下一篇 2017-02-18 14:14

相關推薦

  • grep與正則表達式

    1.什么是grep grep(Golobal Regular Expression print)是Linux系統中一個強大的文本搜索工具,也是俗稱的搜索三兄弟之一,grep的最大意義就是搜索文本,把匹配的行打印到屏幕上,但不影響原文件的內容;在搜索文本的過程中,可以利用到“正則表達式”來定以自己的搜索匹配模式。 Unix的grep家族包括了grep、egre…

    Linux干貨 2015-10-08
  • 馬哥教育網絡班20期+第五周博客作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; ]# grep  "^[[:space:]]\+" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; ]#…

    Linux干貨 2016-07-12
  • Linux基礎知識之軟件包管理(一)

    軟件包管理 1.軟件運行環境 運維工作的任務: 系統管理、庫調用管理(開發接觸的多,運維接觸的少),安裝配置某些程序包,讓程序包運行并提供相應類型的服務 程序執行的過程:     程序源代碼–>預處理–>編譯–>匯編–>鏈接     預處理:將代碼…

    Linux干貨 2016-08-22
  • 馬哥教育網絡班20期-第四周課程作業

    Table of Contents 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/h…

    Linux干貨 2016-06-26
  • 實現真實的機柜模擬圖[原創]

    一般能反映機房設備位置、結構我們都喜歡通過網絡拓撲圖來展現,但個人感覺還不夠直觀、明了的表現出自己想要的結果(自己太挑剔了,呵呵)。因此寫一個生成真實機柜模擬圖平臺,實現與真實服務器外觀、服務狀態、空閑位置等信息。在線效果圖http://blog.liuts.com/idc/系統截圖1、平臺顯示某一排截圖2、平臺顯示某臺服務器詳細信息截圖3、狀態說明2U服務…

    Linux干貨 2015-03-27
欧美性久久久久