1. 程式人生 > >Linux管道符、重定向與環境變量

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

相對路徑 pat 直接 類型 別名 分組 查看 lin 絕對路徑

——《Linux就該這麽學》筆記

輸入輸出重定向
輸入重定向
  指把文件導入到命令中
輸出重定向
  指把原本要輸出到屏幕的數據信息寫入到指定文件中

輸出重定向
  分為標準輸出重定向和錯誤輸出重定向
  每種有清空寫入與追加寫入兩種模式

標準輸入重定向(STDIN,文件描述符為0):默認從鍵盤輸入,也可以從其他文件或命令中輸入
標準輸出重定向(STDOUT,文件描述符為1):默認輸出到屏幕
錯誤輸出重定向(STDERR,文件描述符為2):默認輸出到屏幕

輸入重定向符號及作用
  命令 < 文件: 將文件作為命令的標準輸入
  命令 << 分界符: 從標準輸入中讀入,直到遇見分界符才停止
  命令 < 文件1 > 文件2: 將文件1作為命令的標準輸入並將標準輸出到文件2

輸出重定向符號及作用
  命令 > 文件: 將標準輸出重定向到一個文件中(清空原有文件的數據)
  命令 2> 文件: 將錯誤輸出重定向到一個文件中(清空原有文件的數據)
  命令 >> 文件: 將標準輸出重定向到一個文件中(追加到原有內容的後面)
  命令 2>> 文件: 將錯誤輸出重定向到一個文件中(追加到原有內容的後面)
  命令 >> 文件 2>&1 或者 命令 &>> 文件: 將標準輸出與錯誤輸出共同寫入到文件中(追加到原有內容的後面)

管道命令符
  格式: 命令1|命令2|......|命令n
  作用: 把左邊命令的結果作為右邊命令的輸入
  eg: ls -l /etc/ | more

命令行通配符
  通配符就是通用的匹配信息的符號
  星號(*): 代表匹配零個或者多個字符
  問號(?): 代表匹配單個字符

常用的轉義字符
  反斜杠(\): 使反斜杠後面的一個變量變為單純的字符產
  單引號(‘‘): 轉義其中所有的變量為單純的字符串
  雙引號(""): 保留其中的變量屬性,不進行轉義處理
  反引號(``): 把其中的命令執行後返回結果

重要的環境變量
  變量是計算機系統用於保存可變值的數據類型
Linux中10個環境變量
  HOME: 用戶的主目錄(即家目錄)
  SHELL: 用戶在使用的shell解釋器名稱
  HISTSIZE: 輸出的歷史命令記錄條數
  HISTFILESIZE: 保存的歷史命令記錄條數
  MAIL: 郵件保存路徑
  LANG: 系統語言、語系名稱
  RANDOM: 生成一個隨即數字
  PS1:Bash解釋器的提示符
  PATH: 定義解釋器搜索用戶執行命令的路徑
  EDITOR: 用戶默認的文本編輯器

變量是由固定的變量名與用戶或系統設置的變量值兩部分組成的
  可以使用export命令將自己定義的變量提升為全局變量

env命令: 該命令可以查看Linux系統中所有的環境變量

命令在Linux中的執行步驟
  第一步:判斷用戶是否以絕對路徑或相對路徑的方式輸入命令(如/bin/ls),如果時則直接執行
  第二步: Linux系統檢查用戶輸入的命令是否為"別名命令"
  第三步: Bash解釋器判斷用戶輸入的是內部命令還是外部命令
  第四步: 系統在多個路徑中查找用戶輸入的命令文件

  定義命令別名命令格式: alias 別名=命令
  刪除命令別名命令格式: unalias 別名
  判斷命令屬於內部命令還是外部命令: type 命令名稱
  第四步中定義路徑的變量叫作PATH,每個路徑值之間用冒號間隔

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