Linux學習筆記03
阿新 • • 發佈:2018-12-01
輸入輸出重定向
輸入重定向:把檔案匯入命令中
標準輸入重定向(STDIN,檔案描述符為0):預設從鍵盤輸入,也可從其他檔案或命令中輸入
命令 < 檔案 將檔案作為命令的標準輸入
命令 << 分界符 從標準輸入中讀入,直到遇見分界才停止
命令 < 檔案1 > 檔案2 將檔案1作為命令的標準輸入並將命令結果輸出到檔案2中
輸出重定向:把原本要輸出到螢幕的資料寫入指定的檔案中
標準輸出重定向(STDOUT,檔案描述符為1):預設輸出到螢幕
錯誤輸出重定向(STDERR,檔案描述符為2):預設輸出到螢幕
命令 > 檔案 將標準輸出重定向到一個檔案中(覆蓋)
命令 2> 檔案 將錯誤輸出重定向到一個檔案中(覆蓋)
命令 >> 檔案 將標準輸出重定向到一個檔案中(追加)
命令 2>> 檔案 將錯誤輸出重定向到一個檔案中(追加)
命令 >> 檔案 2>&1 或 命令 &>> 檔案 將標準輸出與錯誤輸出共同寫入檔案中(追加)
管道命令符
格式:命令A | 命令B,將命令A原本要輸出到螢幕的資料當作命令B的標準輸入
#grep "/sbin/nologin" /etc/passwd | wc -l
#ls -l /etc | more
#echo "linuxprobe" | passwd --stdin root
#echo "Content" | mail -s "Subject" linuxprobe
#mail -s "Subject" [email protected] << over
命令列的萬用字元
* 匹配零個或多個字元
? 匹配單個字元,不包括零個
[0-9] 匹配0~9之間的單個數字的字元
[abc] 匹配a、b、c三個字元中的任意一個字元
常用的轉義字元
反斜槓 ( \ ):使反斜槓後面的一個變數變為單純的字串
單引號 ( " ):轉義其中所有的變數為單純的字串
雙引號( "" ):保留其中的變數屬性,不進行轉義處理
反引號( `` ):把其中的命令執行後返回結果
重要的環境變數
一般都是大寫的,約定俗成
HOME 使用者的主目錄
SHELL 使用者在使用的Shell直譯器名稱
HISTSIZE 輸出的歷史命令記錄條數
HISTFILESIZE 儲存的歷史命令記錄條數
MAIL 郵件儲存路徑
LANG 系統語言、語系名稱
RANDOM 生成一個隨機數字
PS1 Bash直譯器的提示符
PATH 定義直譯器搜尋使用者執行命令的路徑
EDITOR 使用者預設的文字編輯器
其中export命令可將當前使用者設定的環境變數設為全域性變數
Linux中命令執行的過程
- 判斷使用者是否以絕對路徑或相對路徑的方式輸入命令,如果是的話直接執行
- 檢查使用者是否輸入“別名命令”,使用“alias”命令即可檢視,“ualias 命令的別名”取消別名
- Bash直譯器判斷使用者輸入的是內部命令還是外部命令,如果是內部則直接執行,使用“type 命令”即可檢視
- 系統在多個路徑中查詢使用者輸入的命令,這些路徑定義在PATH變數中