首頁 > 軟體

Linux上bash的部分基礎特性

2020-06-16 17:15:23

命令補全: tab

     shell程式在接收到使用者執行命令的請求,分析完成後,最左側的字串會被當做命令

命令查詢機制:

    查詢內部命令:

    根據PATH環境變數中設定的目錄,自左而右逐個搜尋目錄下的檔名

    給定的打頭字元如果能唯一標識某命令檔案程式,則直接補全

    給定的打頭字元如果不能唯一標識某命令檔案程式,在一次tab,會給出列表

路徑補全:tab

在給定的起始路徑下,以對應路徑下的打頭字串來逐一匹配其實路徑下的每個檔案

    如果能唯一標識,則直接補全

    否則,再一次tab,給出列表

雙擊Tab:

        /2Tab  顯示所有根目錄下一級目錄,包括隱藏目錄

        ./2Tab  當前目錄下子目錄,包括隱藏目錄        

        *2Tab  當前目錄下子目錄,不包括隱藏目錄        

        ~2Tab  所有使用者列表

        $2Tab  所有變數  

        @2Tab  /etc/hosts記錄   (CentOS7不支援)

        =2Tab  相當於ls A  CentOS7 不支援)

 

    mkdir:新建一個目錄

        mkdir -p:自動按需建立父目錄

         -v:顯示詳細過程

         -m:直接給定許可權

注意:路徑基名方為命令的作用物件,基名之前的路徑必須得存在      

        rmdir: 刪除目錄

    rmdir -p:刪除某目錄後,如果其父目錄為空,則一併刪除

         -v:顯示過程

命令列展開:

  ~:自動展開為使用者的家目錄,或指定的使用者的家目錄

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

    例如:/tmp/{a,b}相當於 /tmp/a /tmp/b

命令的執行狀態結果:

   bash通過狀態返回值來輸出次結果

       成功:0

       失敗:1-255

   命令執行完成後,其狀態返回值儲存於bash的特殊變數$?

參照:

     強參照:''  

     弱參照:""  

     命令參照:``

 

bash快捷鍵:

   Ctrl + l  清屏,相當於clear命令

   Ctrl + c  終止命令

   Ctrl + s  鎖定螢幕

   Ctrl + q  解鎖

   Ctrl + a  游標移到命令列首,相當於Home

   Ctrl + e  游標移到命令列尾,相當於End

   Ctrl + u  從游標處刪除至命令列首

   Ctrl + k  從游標處刪除至命令列尾

cp命令:copy

   單源複製:cp [OPTION]... [-T] SOURCE DEST

      如果DEST不存在:則事先建立次檔案,並複製原始檔的資料流至DEST

      如果DEST存在:

      如果DEST是非目錄檔案:則覆蓋目標檔案

      如果DEST目錄檔案:則先在DEST目錄下建立一個與原始檔同名的檔案,並複製其資料流

   

   多源複製:cp [OPTION]... SOURCE... DIRECTORY

      如果DEST不存在: 錯誤

      如果DEST存在:

      如果DEST是非目錄檔案:錯誤

      如果DEST是目錄檔案:分別複製每個檔案至目錄中,並保持原名

            cp  [OPTION]... -t DIRECTORY SOURCE...

常用選項:

      -i:互動式複製,即覆蓋前提醒使用者確認

      -f:強制覆蓋目標檔案

      -r:遞回複製目錄 

 

history:命令列歷史

命令歷史一般記錄在.bash_history檔案中,預設記錄1000

當前shell中的歷史記錄會被記錄在記憶體中,只有退出之後才會儲存在.bash_history

-c:清空命令歷史

-d offset:刪除歷史中指定的第offset個命令

n:顯示最近的第n條歷史

-a:追加本次對談新執行的命令歷史列表至歷史檔案

-n:讀歷史檔案中未讀過的行到歷史列表

-r:讀歷史檔案附加到歷史列表

-w:儲存歷???列表到指定的歷史檔案

-p:展開歷史引數成多行,但不存在歷史列表中

-s:展開歷史引數成一行,附加在歷史列表後

HISTSIZE 修改history儲存條數

    HISTFILE 指定歷史檔案的存放位置,預設為~/.bash_history

    HISTFILESIZE 指定歷史檔案的命令的儲存條數

    HISTTIMEFORMAT="%F %T"  顯示每條命令的具體執行時間

    HISTIGNORE="str1:str2"  把某些命令敏感的字串給遮蔽掉不予顯示

控制命令歷史記錄方式:

環境變數:HISTCONTROL

ignoredups  預設,忽略重複的命令,連續且相同為“重複”

ignorespace 忽略所有以空白開頭的命令

ignoreboth  相當於ignoredups, ignorespace的組合

erasedups   刪除重複命令

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

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

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-05/143550.htm


IT145.com E-mail:sddin#qq.com