1. 程式人生 > >Linux學習筆記03

Linux學習筆記03

輸入輸出重定向

輸入重定向:把檔案匯入命令中

  標準輸入重定向(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中命令執行的過程

  1. 判斷使用者是否以絕對路徑或相對路徑的方式輸入命令,如果是的話直接執行
  2. 檢查使用者是否輸入“別名命令”,使用“alias”命令即可檢視,“ualias 命令的別名”取消別名
  3. Bash直譯器判斷使用者輸入的是內部命令還是外部命令,如果是內部則直接執行,使用“type 命令”即可檢視
  4. 系統在多個路徑中查詢使用者輸入的命令,這些路徑定義在PATH變數中