Linux的標準輸入和輸出
阿新 • • 發佈:2019-03-20
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的標準輸入和輸出