shell基礎知識-1

  1. shell是什麼?linux

    1)shell是一個命令解釋器,用於用戶和計算機linux系統之間的交互shell

    2)shell是一種編程語言,由若干bash命令組成,並支持特定語法,好比邏輯判斷、循環等結構,函數等編程

    3)每一個用戶均可以有本身的shell,如zsh,ksh等,centos7默認shell是bash centos

  2. 命令歷史緩存

     命令歷史命令:historybash

     命令歷史文件:~/.bash_history,歷史命令保存在該文件中編程語言

     永久保存歷史命令:chattr  +a   ~/.bash_historyide

   1)顯示執行過的歷史命令函數

        # history        或centos7

        # cat  ~/.bash_history

   2)命令歷史的環境變量

        HISTSIZE                         默認值1000,內存中命令緩存的數量;通常在/etc/profile環境變量配置文件中配置才能永久生效

        HISTFILE                   指定記錄歷史命令的文件

        HISTTIMEFORMAT          定義歷史命令的格式

   3)執行命令歷史中的命令       

          # !n(中間沒空格)            執行命令歷史中的第n條命令

          # !-n                                  執行倒數第n條命令

          # !!                                  執行上一條命令

         #  !str                                 執行以str開頭的命令   

  3. 命令補全和命令別名

   1)命令補全:tab鍵敲一下 ,敲兩下顯示全部相關的命令

        參數補全:必須安裝bash-completion包

   2)命令別名:alias命令,給命令從新起一個簡潔容易記的名字

                         unalias命令,取消命令別名

   3)命令別名存放的配置文件

        alias命令是臨時生效的,要是alias命令永久生效,必須存放到對應的環境變量配置文件中

        某個用戶的命令別名配置文件:~/.bashrc

        全部用戶的命令別名配置文件:/etc/profile.d目錄下的文件

  4. 通配符

     *        任意長度的任意字符

     ?      任意單個字符

    [ ]       指定範圍內的任意單個字符

              如:[abc]         表示abc中的任意一個字符

                  [0-9]         表示0到9中的任意一個字符

    { }       指定範圍內的任意單個字符

              如:{1,2,3}    表示1 2  3中的任意一個字符

    注意:[a-z]    表示全部英文字符,不區分大小寫

  5. 輸入輸出重定向

     >             輸出重定向

     >>          追加輸出重定向

     2>           錯誤輸出重定向

     2>>        錯誤追加輸出重定向

     <            標準輸入重定向

     舉例:正確和錯誤都輸出到a.txt    即&>>a.txt

               正確輸出到1.txt   錯誤輸出到a.txt     即 >1.txt  2>a.txt

           image.png

   6. 管道符和做業控制

      管道符| : 把前面命令的輸出結果做爲後面命令的標準輸入

      做業控制:

         ctrl+z                把當前做業放在後臺,並暫停

         jobs                  列出當先後臺的做業及做業狀態

         fg                     把後臺做業調到前臺,並運行

         bg                    把後臺的做業調到後臺,並運行

         &                     把當前做業放在後臺,並運行

   7. shell變量和環境變量

      環境變量:系統的,如PATH,HOME,PWD,LOGNAME等

      shell變量:用戶自定義的        如:a=1

    1)env    查看環境變量

         set     查看環境變量和shell變量

    2)變量名規則:

         字母、數字和下劃線,首位不能爲數字

    3)變量值

         當變量值有特殊符號時,必須用單引號括起來

    4)定義shell局部變量,只在當前shell中生效

         a=1

    5)定義shell全局變量,在當前shell和子shell中都生效

         export  a=1

    6)取消定義的shell變量

         unset   a

   8. 環境變量配置文件

       /etc/profile             全部用戶,用戶登錄時執行

      /etc/bashrc              全部用戶, 用戶不用登錄,執行shell時就生效

      ~/.bash_profile        當前用戶的環境變量配置文件

      ~/.bashrc                 當前用戶的環境變量配置文件,~/.bash_profile會調用該配置文件

      ~/.bash_history        命令歷史的配置文件

      ~/.bash_logout        當前用戶退出時生效

      環境變量PS1

         \u        表示當前用戶

         \h        表示主機名

         \W       表示當前目錄的最後一層目錄

         \w        表示當前目錄的全路徑

         $          命令提示符

         image.png


         /etc/bashrc

相關文章
相關標籤/搜索