Linux shell 關於 2 1 的含義

2021-10-04 20:42:04 字數 513 閱讀 7344

0:表示標準輸入

1:表示標準輸出,即stdout

2:表示標準錯誤輸出,即stderr

> :預設為標準輸出重定向,與 1> 相同

2>&1:意思是把標準錯誤輸出重定向到標準輸出.

&>file:意思是把標準輸出和標準錯誤輸出 都重定向到檔案file中

/dev/null:可以看作黑洞,它等價於乙個只寫檔案,所有寫入它的內容都會永遠丟失,而嘗試從它那兒讀取內容則什麼也讀不到。

>/dev/null 2>&1:左邊是標準輸出,現在標準輸出直接輸入到/dev/null中,而2>&1是將標準錯誤重定向到標準輸出,所以當程式產生錯誤的時候,相當於錯誤流向左邊,而左邊依舊是輸入到/dev/null中。

>.

/boot.log 2>&1:左邊是標準輸出,現在標準輸出直接輸入到當前路徑的boot.log檔案中,而2>&1是將標準錯誤重定向到標準輸出,所以當程式產生錯誤的時候,相當於錯誤流向左邊,而左邊依舊是輸入到boot.log檔案中。

linux Shell的2 1的解釋

關於2 1 的含義 含義 將標準錯誤輸出重定向到標準輸出符號 是乙個整體,不可分開,分開後就不是上述含義了。比如有些人可能會這麼想 2是標準錯誤輸入,1是標準輸出,是重定向符號,那麼 將標準錯誤輸出重定向到標準輸出 是不是就應該寫成 2 1 就行了?是這樣嗎?如果是嘗試過,你就知道2 1的寫法其實是...

關於 Linux shell 你必須知道的

我個人很喜歡使用 linux 系統,雖然說 windows 的圖形化介面做的確實比 linux 好,但是對指令碼的支援太差了。一開始有點不習慣命令列操作,但是熟悉了之後反而發現移動滑鼠點點點才是浪費時間的罪魁禍首。那麼對於 linux 命令列,本文不是介紹某些命令的用法,而是說明一些簡單卻特別容易讓...

Linux shell 程式設計 關於16進製制

在專案過程中,對方給了linux下的操作指令,很是不方便。於是寫了linux的指令碼,記錄下編寫過程中遇到和解決的問題。shell中設定變數的時候,要求等號 之間不要有空格 變數名 0是指令碼名,n n 1 表示傳遞給指令碼的第n個引數 使用變數時需要加上 變數名,在字元拼接過程中為了確定變數名採用...