1. 程式人生 > >2019年5月10日-linux就該這麽學-第4課

2019年5月10日-linux就該這麽學-第4課

shell 其中 全局 提升 ima 通配符 語言 編輯器 alias

第3章 重定向、管道符、通配符、轉義字符、環境變量

3.1 輸入輸出重定向
概念:輸入重定向是指將文件導入到命令中;輸出重定向是指將原本輸出到屏幕的信息輸出到文件中。

        輸入重定向:(STDIN ,文件描述符為0),默認從鍵盤中輸入,也可從其他文件或命令輸入。
        1. 命令<文件:將文件作為命令的標準輸入;
        2. 命令<<分界符:從標準輸入中讀入,直到遇見分界符才停止;
        3. 命令<文件1>文件2:從文件1作為命令的標準輸入,並將標準輸出到文件2;

        -----
        輸出重定向:標準輸出重定向(STDOUT,文件描述符為1),默認輸出到屏幕;錯誤輸出重定向(STDERR,文件描述符為2),默認輸出到屏幕。
        1. 命令>文件:將標準輸出重定向到一個文件中(清空寫入);
        2. 命令>>文件:將標準輸出重定向到一個文件中(追加寫入);
        3. 命令2>文件:將錯誤輸出重定向到一個文件中(清空寫入);
        4. 命令2>>文件:將錯誤輸出重定向到一個文件中(追加寫入);
        5. 命令&>>文件:將標準輸出與錯誤輸出共同寫入到文件中(追加寫入);

技術分享圖片


3.2 管道命令符:任意門,
1.作用:將前一個命令原本要輸出到屏幕的標準正常數據當作是後一個命令的標準輸入。可以通過多個管道符,將實現多個命令的依次執行;可以這樣理解:管道符就好象是用於實現數據穿越的任意門,可以幫助提高效率;
2.命令:命令A | 命令B | 命令C;


3.3 命令的通配符
1.?--------------代表匹配單個字符;
2.*----------------代表匹配零個或多個字符;
3.【0-9】-------代表0-9之間的單個數字的字符;
4.【abc】-------代表abc三個字符中的任意一個字符;


3.4 常用的轉義字符

  1. 反斜杠(\):-------使反斜杠後面的一個變量變為單純的字符串;
    2.單引號(‘’):-------轉義其中所有的變量為單純的字符串;
    3.雙引號(“”):-------保留其中的變量屬性,不進行轉義處理;
    4.反引號(``):-------把其中的命令執行後返回結果;

3.5 重要的環境變量
作用:用來定義系統運行環境中的一些參數;在Linux系統中,一切都是文件;

命令在Linux系統中執行的4個步驟:

  1. 判斷是否以絕對路徑或相對路徑的方式輸入命令,如果是的話則直接執行。(在Linux系統中,99%的命令都是外部)
  2. Linux系統檢查用戶輸入的命令是否為“別名命令“:alias 別名=命令;unalias 別名;
  3. Bash解釋器判斷用戶輸入的是內部命令還是外部命令。內部命令會被直接執行;如為外部命令則轉到第4步執行;
  4. 系統根據PATH變更設置的路徑查找外部命令的位置並執行。
    重要的10個環境變量:
  5. HOME----------------用戶的主目錄(即家目錄);
  6. SHELL---------------用戶使用的Shell解釋器的名稱;
  7. HISTSIZE------------輸入的歷史命令記錄條數;
  8. HISTFILESIZE-----保存的歷史命令記錄條數;
  9. MALL-----------------郵件保存路徑;
  10. LANG-----------------系統語言、語系名稱;
  11. RANDOM-----------生成一個隨機數字;
  12. PS1-------------------Bash解釋器的提示符;
  13. PATH-----------------定義解釋器搜索用戶執行命令的路徑;
  14. EDITOR-----------用戶默念的文本編輯器。
    export 變量名:將變理提升為全局變量。

技術分享圖片

2019年5月10日-linux就該這麽學-第4課