什麼是檔案描述符
1、程序中開啟乙個檔案就會有乙個檔案描述符
2、檔案描述符是乙個非負整數
3、系統為每乙個程序維護乙個檔案描述符表(程序級檔案描述符)
4、同乙個程序裡面不同檔案描述符可以對應同乙個檔案(乙個檔案被開啟多次)
5、不同程序的檔案描述符可以相同(不影響),可以指向同乙個檔案,也可以指向不同檔案
標準檔案描述符
程序啟動就開啟的檔案描述符
0:標準輸入檔案描述符
1:標準輸出檔案描述符
2:標準錯誤檔案描述符
重定向輸出(包括標準輸出,標準錯誤輸出)
ls -a >ls.txt
如果不存在ls.txt則建立,存在則覆蓋裡面內容
ls -a >>ls.txt
如果不存在ls.txt則建立,存在則追加
kill -l 1234 2>dev/null
kill -l 1234 2>>dev/null
在》或》前面加上檔案描述符,即可把輸出到該檔案描述符的內容,定向到指定的檔案中
kill -l 1234 >dev/null 2>&1
標準錯誤流的和標準輸入流重定向到同乙個檔案,用》&
重定向輸入
more < text.txt
more本來就可以接受檔案的引數,這樣的意義不大
管道
用於連線程序,可以避免寫中間檔案
ps | short | more
注意:在linux下通過管道連線的程序可以同時執行
cat mydata.txt | sort | uniq >mydata.txt這樣可能會得到乙個空檔案,因為cat執行前,uniq可能已經清空了mydata.txt的內容,所以不要在命令流中使用相同的檔案名字。
Shell 輸入 輸出重定向
大多數 unix 系統命令從你的終端接受輸入並將所產生的輸出傳送回 到您的終端。乙個命令通常從乙個叫標準輸入的地方讀取輸入,預設情況下,這恰好是你的終端。同樣,乙個命令通常將其輸出寫入到標準輸出,預設情況下,這也是你的終端。重定向命令列表如下 命令說明 command file 將輸出重定向到 fi...
Shell 輸入 輸出重定向
大多數 unix 系統命令從你的終端接受輸入並將所產生的輸出傳送回 到您的終端。乙個命令通常從乙個叫標準輸入的地方讀取輸入,預設情況下,這恰好是你的終端。同樣,乙個命令通常將其輸出寫入到標準輸出,預設情況下,這也是你的終端。重定向命令列表如下 命令說明 command file 將輸出重定向到 fi...
Shell輸入輸出重定向
大多數 unix 系統命令從你的終端接受輸入並將所產生的輸出傳送回 到您的終端。乙個命令通常從乙個叫標準輸入的地方讀取輸入,預設情況下,這恰好是你的終端。同樣,乙個命令通常將其輸出寫入到標準輸出,預設情況下,這也是你的終端。重定向命令列表如下 命令說明 command file 將輸出重定向到 fi...