管道符、重定向與環境變數
一、重定向
輸入重定向是把檔案匯入到命令中去,輸出重定向是把原本要輸出到螢幕的資料資訊寫入到指定檔案中去。一般,我們使用輸出重定向的頻率更高。
標準輸入重定向 :(STDIN,檔案描述符為0)預設從鍵盤輸入,也可從其他檔案或命令中輸入 標準輸出重定向 : (STDOUT,檔案描述符為1) 預設輸出到螢幕 錯誤輸出重定向 : (STDERR,檔案描述符為2) 預設輸出到螢幕
輸入重定向
符號 | 作用 |
---|---|
命令 < 檔案 | 將檔案作為命令的標準輸入 |
命令 << 分界符 | 從標準輸入中讀入,直到遇見分界符為止 |
命令 < 檔案1 > 檔案2 | 將檔案1作為命令的標準輸入並將輸入作為標準輸出到檔案2 |
輸出重定向
符號 | 作用 |
---|---|
命令 > 檔案 | 將標準輸出重定向到一個檔案(清空原有檔案的資料) |
命令 2> 分界符 | 將錯誤輸出重定向到一個檔案(清空原有檔案的資料) |
命令 >> 檔案 | 將標準輸出重定向搭配一個檔案中(追加到原有檔案內容後面) |
命令 2>> 檔案 | 將錯誤輸出重定向搭配一個檔案中(追加到原有檔案內容後面) |
命令 >> 檔案 2>&1 | 將標準輸出與錯誤輸出共同寫入到檔案中((追加到原有檔案內容後面)) |
命令 &>> 檔案 | 將標準輸出與錯誤輸出共同寫入到檔案中((追加到原有檔案內容後面)) |
二、管道符
管道符的作用 :把前一個命令原本要輸出到螢幕的標準正常資料當作是後一個命令的標準輸入
三、轉義字元
4個最常用的轉義字元如下
反斜槓 : 使其後面的一個變數變為單純的字串 單引號 : 轉義其中所有的變數為單純的字串 雙引號 : 保留其中的變數屬性,不進行轉義處理 反引號 : 把其中的命令執行後返回結果
四、環境變數
Linux執行命令的步驟
第一步 : 判斷使用者是否以絕對路徑或者相對路徑的方式輸入命令,如果是的話,直接執行 第二步 :系統檢查使用者輸入的命令是否為別名命令,即用一個自定義的命令名稱來代替原本的命令名稱,可以用alias命令來建立一個屬於自己的命令名稱,格式為alias 別名=命令,取消則用unalias 第三步 : Basn直譯器判斷使用者輸入的是內部命令還是外部命令。內部命令是直譯器內部的指令,會被直接執行,而使用者輸入的大多是外部命令,這些命令交由第四步處理 第四步 : 系統在多個路徑中查詢使用者輸入的命令檔案,而定義這些路徑的變數叫做PATH,作用是告訴Bah直譯器待執行的命令可能存放的位置,然後Bash直譯器就會在這些位置中逐個查詢
PATH是由多個路徑值組成的變數,每個路徑值之間用冒號間隔,對這些路徑的增加和刪除將影響到Bash直譯器對Linux命令的查詢 可以使用env命令檢視系統中所有的環境變數
變數名稱 | 作用 |
---|---|
HOME | 使用者的主目錄(即家目錄) |
SHELL | 使用者在使用的Shell直譯器名稱 |
HISTSIZE | 輸出的歷史命令記錄條數 |
HISTFILESIZE | 儲存的歷史命令記錄條數 |
郵件儲存命令 | |
LANG | 系統語言、語系名稱 |
RANDOM | 生成一個隨機數字 |
PSL | Basn直譯器的提示符 |
PATH | 定義直譯器搜尋使用者執行命令的路徑 |
EDITOR | 使用者預設的文字編輯器 |
如果工作需要,可以使用export命令將變數提升為全域性變數