linux -- shell 基礎

     linux -- shell基礎

    

1、概述

  一、shell 功能

    

  二、shell 分類

    

2、腳本執行方式

  一、echo

      

    

    

    

3、bash 基本功能

  一、歷史命令

    配置文件:/etc/profile

    命令格式:history [options] file 

         - c :清空歷史命令

         - w :把緩存中的歷史命令寫入歷史保存文件 ~/.bash_history

  二、別名設置

    配置文件:/root/.bashrc

    命令格式:

         設置別名:alias 別名=‘原命令’(不可有空格存在)

         查詢別名:alias

         刪除別名:unalias

  三、快捷鍵

    

 

  三、輸入 輸出 重定向

    概念理解:

      鍵盤     -- /dev/stdin -- 0 -- 標準輸入linux

      顯示器  -- /dev/sdtout -- 1 -- 標準輸出shell

      顯示器  -- /dev/sdterr -- 2 -- 標準錯誤輸出緩存

    輸出重定向

      標準輸出重定向:bash

        覆蓋:命令 > 文件測試

        追加:命令 >> 文件spa

      標準錯誤輸出重定向:操作系統

        覆蓋:錯誤命令 2> 文件3d

        追加:錯誤命令 2>> 文件對象

      正確輸出與錯誤輸出同時保存:blog

        覆蓋:命令 > 文件1 2> 文件2

        追加:命令 >> 文件1 2>> 文件2

      # &>/dev/null(黑洞,垃圾箱)

    輸入重定向:

      

  四、多命令順序執行 與 管道符

    多命令: (;) (||)(&&)

      

      

      

    管道符: (|)

      命令1  |  命令2  # 命令1 的正確輸出做爲命令2 的操做對象

      grep:

        grep  [options]  「搜索內容」  文件名

          [options]

          - i :忽略大小寫

          - v:反轉輸出結果  example:grep -v "#"  grep -v "^$"

          - c:至關於將其傳遞給 wc 程序

          - n:顯示行號,多用於編譯時使用

          - w:精確匹配

          - r:在目錄裏面遞歸搜索

          - A,B,C:

          --color=auto :搜索出的關鍵字用顏色顯示

      example:

        

  五、通配符 與 其餘特殊符號

    通配符:

      ?    匹配任意一個字符

      *  匹配任何內容

      []  匹配括號中的任意一個字符

      [-]   匹配中括號鍾任意一個字符,- 表明範圍

      #  註釋

      $  用於調用變量的值

      \   轉義符,在跟 \ 以後的特殊符號將失去特殊含義,變爲普通字符

      [^]      邏輯非,表示匹配不是中括號內的一個字符。

    其餘特殊符號:

      ’ ’      在單引號中全部的特殊符號都沒有特殊含義

      「 」     在雙引號中特殊符號都沒有特殊含義

          可是「$」(調用變量的值)、「 ' 」(引用命令)、「\」(轉意符)是例外

          

      $()  和反引號做用同樣,用來引用系統命令

          

4、bash 變量(重難點)

  

  一、用戶自定義變量

    1)、什麼是變量

      變量是計算機內存的單元,其中存放的值是能夠改變的。

    2)、變量設置規則

      能夠由字母,數字,下劃線組成,可是不能以數字開頭

      變量的默認類型都是字符串型。

      變量要用等號鏈接值,等號左右兩側不能有空格

      變量的值若是有空格,須要使用單引號或者雙引號包括

      變量的值中,可使用 「\」 轉義符

      能夠把命令的結果做爲變量值賦予變量,則須要使用 反引號 $() 包含命令

      若是是把命令的結果做爲變量值,那麼能夠進行變量值得疊加。不過變量須要用 「$變量名」${變量名} 包含

      環境變量名建議大寫,便於區分

    3)、變量分類(背)

      用戶自定義變量:自由定義(只要符合規則)

      環境變量:這種變量中主要保存的是和操做系統環境相關的數據

      預約義變量:是 Bash 中已經定義好的變量,變量名不能自定義,變量做用也是固定的

      位置參數變量:這種變量主要是用來向腳本當中傳遞參數(嚴格來講是預約義變量中的一種)

    4)、設置:變量名=變量值

    5)、調用:echo

    6)、變量查看:set

    7)、變量刪除:unset name

  二、環境變量

    一、定義:

      用戶自定義變量只是在當前的 shell 中生效,而環境變量會在當前 shell 和這個 shell 的全部子 shell 的全部子 shell 當中生效

      若是把環境變量寫入相應的配置文件,那麼這個環境變量就會在全部的 shell 中生效

    二、設置環境變量

      概述:   環境變量,對於全部的環境都會影響

      export:  export 申明爲全局變量

      env:                   

      unset:           

      pstree:進程樹

    三、系統常見環境變量

      PATH:

        系統查找命令的路徑

        

        example(臨時生效)

          (並不習慣如此)

          使用變量疊加的方式,把本身存放腳本的位置添加到環境變量當中

      PS1:

        定義系統提示符的變量

        

        

 

  三、位置參數變量

    

    

    

    

    

    ($* 和 $@ 的區別)

  四、預約義變量

    

    

  # 接收鍵盤輸入

    

    - p: 「 提示信息 」,在等待 read 輸入時,輸出提示信息

    - t : 「 秒數 」,read命令會一直等待用戶輸入,使用此選項能夠指定等待時間

    - n: 「 字符數 」,read命令只接受指定的字符數,就會執行

    - s: 「 隱藏 」, 隱藏輸入的數據,適用於機密信息的輸入

    

5、bash 運算符

  一、數值運算 與 運算符

    1)、linux 默認的變量是 字符串類型(integer)

      

    2)、declare 聲明變量類型

      

  二、變量測試 與 內容替換

      

6、環境變量配置文件

  一、環境變量配置文件簡介

    source命令:

    定義:

    類型:

  二、環境變量配置文件做用

相關文章
相關標籤/搜索