天天看點

Linux筆記(四)輸入輸出重定向管道指令符指令行通配符常用的轉義字元重要的環境變量

管道符、重定向與環境變量

  • 輸入輸出重定向
    • 輸入重定向用到的符号及其作用
    • 輸出重定向用到的符号及其作用
  • 管道指令符
  • 指令行通配符
  • 常用的轉義字元
  • 重要的環境變量

輸入輸出重定向

**輸入重定向:**把檔案導入到指令中

**輸出重定向:**把原本要輸出到螢幕的資料寫入到指定檔案中,輸出重定向分為兩種:1. 标準輸出重定向(檔案描述符為1)預設輸出到螢幕;2. 錯誤輸出重定向(檔案描述符為2)預設輸出到螢幕。

輸入重定向用到的符号及其作用

指令 < 檔案

将檔案作為指令的标準輸入

指令 << 分界符

從标準輸入中讀入,直到遇見分界符才停止

指令 < 檔案1 > 檔案2

将檔案1 作為指令的标準輸入并将标準輸出到檔案2

輸出重定向用到的符号及其作用

指令 > 檔案

将标準輸出重定向到一個檔案中(清空原有檔案的資料)

指令 2> 檔案

将錯誤輸出重定向到一個檔案中(清空原有檔案的資料)

指令 >> 檔案

将标準輸出重定向到一個檔案中(追加到原有内容的後面)

指令 2>> 檔案

将錯誤輸出重定向到一個檔案中(追加到原有内容的後面)

指令 >> 檔案 2>&1或指令 &>> 檔案

将标準輸出與錯誤輸出共同寫入到檔案中(追加到原有内容的

後面)

管道指令符

其格式為:指令A | 指令B

解釋:就是把指令A原本要輸出到螢幕的資料當作是指令B的标準輸

可以使用多次管道符:指令A | 指令B | 指令C

指令行通配符

通配符就是通用的比對資訊的符号,比如星号(*)代表比對零個或多個字元,問号(?)代表比對單個字元,中括号内加上數字[0-9]代表比對0~9之間的單個數字的字元,而中括号内加上字母[abc]則是代表比對a、b、c 三個字元中的任意一個字元。

Linux筆記(四)輸入輸出重定向管道指令符指令行通配符常用的轉義字元重要的環境變量
Linux筆記(四)輸入輸出重定向管道指令符指令行通配符常用的轉義字元重要的環境變量
Linux筆記(四)輸入輸出重定向管道指令符指令行通配符常用的轉義字元重要的環境變量

常用的轉義字元

常用的轉義字元:

反斜杠(\)使反斜杠後面的一個變量變為單純的字元串。

單引号(’’):轉義其中所有的變量為單純的字元串。

雙引号(""):保留其中的變量屬性,不進行轉義處理。

反引号(``):把其中的指令執行後傳回結果。

反引号是第二行數字鍵最左邊的一個,不是單引号

Linux筆記(四)輸入輸出重定向管道指令符指令行通配符常用的轉義字元重要的環境變量

圖中$$表示程序,是以需要添加反斜杠’\’

重要的環境變量

在我們執行一條指令之後,Linux系統中執行了四個步驟:

第1步: 判斷是否以絕對路徑或相對路徑的方式輸入指令(如/bin/ls),如果是,則直接執行

第2步: Linux 系統檢查使用者輸入的指令是否為“别名指令”,即用一個自定義的指令名稱來替換原本的指令名稱。可以用alias 指令來建立一個屬于自己的指令别名,格式為“alias 别名=指令”。若要取消一個指令别名,則是用unalias 指令,格式為“unalias 别名”。我們之前在使用rm 指令删除檔案時,Linux 系統都會要求我們再确認是否執行删除操作。

第3步::Bash 解釋器判斷使用者輸入的是内部指令還是外部指令。内部指令是解釋器内部的指令,會被直接執行;而使用者在絕大部分時間輸入的是外部指令,這些指令交由步驟4 繼續處理。可以使用“type 指令名稱”來判斷使用者輸入的指令是内部指令還是外部指令。

**第4步:**系統在多個路徑中查找使用者輸入的指令檔案,而定義這些路徑的變量叫作PATH,可以簡單地把它了解成是“解釋器的小助手”,作用是告訴Bash 解釋器待執行的指令可能存放的位置,然後Bash 解釋器就會乖乖地在這些位置中逐個查找。PATH 是由多個路徑值組成的變量,每個路徑值之間用冒号間隔,對這些路徑的增加和删除操作将影響到Bash 解釋器對Linux 指令的查找。

export可以将變量提升為全局變量

繼續閱讀