1. 程式人生 > >Linux命令之bash的基礎特性(1)(命令歷史、命令補全、路徑補全、命令行展開。)

Linux命令之bash的基礎特性(1)(命令歷史、命令補全、路徑補全、命令行展開。)

red gin histsize 歷史 管理 滿足 some 補全 條件

  1. 命令歷史

history:

環境變量:

  HISTSIZE:命令歷史記錄的條數

  HISTFILE:~/.bash_history

  HISTFILESIZE:命令歷史文件記錄歷史的條數

history -d OFFSET : 刪除某條歷史記錄

history + 數字:顯示最近n條歷史記錄命令 

調用歷史命令:

  !+數字:例如!3:重復第三條歷史命令

  !!:重復上一條命令

  !string:最近一次以指定字符串開頭的命令

調用上一條命令最後一個參數:

  !$

  ESC 然後再按 .

  Alt + .

控制命令歷史的記錄方式:

  環境變量:HISTCONTROL

    ignoredups:忽略重復的命令(命令必須連續並且一樣才算重復)

    ignorespace:忽略空白開頭的命令

    ignoreboth:上兩條都忽略

  修改環境變量值:export 變量名=“值”

2.命令補全

  bash執行命令:

    內部命令:

    外部命令:bash根據PATH環境變量定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文件,第一次找到即為要執行的命令

      直接補全:Tab,用戶給定的字符串只有一條唯一對應的命令

      間接補全:用戶給定的字符串為開頭對應的命令不唯一,按兩下Tab給出所有滿足條件的列表

3.路徑補全

  把用戶給出的字符串當做路徑開頭,並在其指定上級目錄下搜索以指定字符串開頭的文件名:

    如果唯一:則直接補全

    如果不唯一:再按一下Tab,顯示所有滿足條件列表

4.命令行展開

  ~:展開為用戶的主目錄

  ~USERNAME:展開為指定用戶的主目錄

  {}:可承載一個以逗號分隔的列表,並展開為多個路徑

    例如: /tmp/{a,b} = /tmp/a 和 /tmp/b

        /tmp/{a,b}/c = tmp/a/c 和 /tmp/b/c

5.目錄管理類命令

  mkdir [options] /path/to/somewhere

    -p:如果中間目錄不存在,不報錯,逐級創建個各目錄

    -v:顯示詳細信息

    -m:創建目錄時指定權限

  tree

    -d:只顯示目錄

    -L:指定顯示的層級數目

    -P:只顯示由指定P匹配到的路徑

  rmdir:刪除空目錄

    -v:顯示過程

Linux命令之bash的基礎特性(1)(命令歷史、命令補全、路徑補全、命令行展開。)