1. 程式人生 > >Linux的標準輸入和輸出

Linux的標準輸入和輸出

ima 不想 ffffff oss color dea dto 錯誤信息 size

設備 設備文件名 文件描述符 類型 鍵盤 /dev/stdin 0 標準輸入 顯示器 /dev/sdtout 1 標準輸出 顯示器 /dev/sdterr 2 錯誤標準輸出

1、命令 > 文件
將命令的正確輸出,寫入到指定文件或設備中去,並對之前的內容進行覆蓋。如果文件不存在,會新建一個文件

技術分享圖片

2、命令 >> 文件
將命令的正確輸出,寫入到指定文件或設備中去,采用追加的方式。該方式會保留原本文件中的內容。
技術分享圖片

3、命令 2> 文件
將命令的錯誤輸出,寫入到指定的文件或設備中去,並對之前內容進行覆蓋。下面例子中,當命令正確的時候,標準輸出正常打印到顯示器,當命令錯誤的時候,將錯誤信息寫入了test.log中

技術分享圖片

4、命令 2>> 文件
將錯誤標準輸出的信息,寫入到其他文件中,並用追加的方式,不會覆蓋文件原本的內容。
技術分享圖片

5、命令 > 文件 2>&1 | 命令 &> 文件
    這兩種方式,是將命令的錯誤輸出和正確輸出,都保存到同一個文件中,采用覆蓋的方式,不會保留文件原本的內容。

技術分享圖片

6、命令 >> 文件 2>&1 | 命令 &>> 文件
這兩種方式是將命令的錯誤輸出和正確輸出,都保存到同一個文件中,采用追加的方式,會保留文本原本的內容。
技術分享圖片

7、命令 >> 文件1 2>>文件2
將命令正確的輸出,寫入到文件1中,將命令錯誤的輸出寫入到文件2中

技術分享圖片

需要註意:/dev/null 會經常應用,該路徑表示一個空目錄空文件,可以理解為“黑洞”,放入這個路徑的內容,是不會保存的,即放入就消失了,再也找不到。當我們不想在顯示器中顯示命令輸出,也不想保存到文件中,就可以用/dev/null

Linux的標準輸入和輸出