輸入輸出重定向和管道
在linux中,標準的輸入:鍵盤,用0表示;標準的輸出:顯示器,用1表示;標準的錯誤輸出:顯示器,用2表示;
重定向:
輸出重定向用“>”表示,追加輸出重定向用“>>”表示;
輸入重定向用“<”表示,追加輸入重定向不用“<<”表示;
錯誤輸出重定向用“2>”表示,追加錯誤輸出重定向用“2>>”表示;
整合錯誤輸出和標準輸出的數據流到同一個文件中,用“&>”表示;
如果用數字錶示的話,將錯誤輸出重定向到標準輸出上,可以表示如下形式:2>&1;
如下例子實現暫時關閉覆蓋輸出重定向,並隨時使用覆蓋輸出重定向:
說明:1、# set -C 禁止使用覆蓋輸出重定向功能,事先確定/tmp/test.out文件非空,此命令才起作用.
2、# date >| /tmp/test.out,此時臨時允許使用覆蓋輸出重定向功能.
3、所以,# set C 打開覆蓋輸出重定向功能.
set命令:用於打開或者關閉shell的某種功能.
1、成功執行,返回值為0;
2、錯誤執行,返回值為1-255;
3、使用echo $? ,獲取上一個命令的退出碼.
1、# cat < /etc/profile ,將/etc/profile 文件的內容給cat予以顯示.但此時的<可以省略掉.
2、tr命令中的< 不可以省略掉.例如:# tr 'a-z' 'A-Z' < /etc/profile ,將/etc/profile文件的內容給tr命令,並使其修改其顯示形式,而後顯示出來.
mail命令中的<不可以省略掉.例如:# mail redhat < /etc/profile ,即將/etc/profile 文件的內容作為郵件的正文發送給redhat用戶.
echo -e "First line.\nSecond line." > /tmp/out ,使用echo命令生成一篇文檔,並輸入到/tmp/out文件中去.也可以使用如下方法代替:
cat > /tmp/out << END ,表示使用cat命令在此生成一個文檔,當遇到END結束符時,該文檔結束,並被保存在/tmp/out文件里.註:END是可以替換成其他的字元的,並且大小寫都可以.
例如:ls /var | tee /tmp/var.out,將目錄/var下面的所有文件保存到/tmp/var.out中,並顯示到屏幕上.
也可以使用tee -a 表示追加輸入重定向.
[火星人 ] 輸入輸出重定向和管道已經有315次圍觀