shell中的重定向

linux shell下常用輸入輸出操作符是:

1.  標準輸入   (stdin) :代碼為 0 ,使用 < 或 << ; /dev/stdin -> /proc/self/fd/0   0代表:/dev/stdin 
2.  標準輸出   (stdout):代碼為 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1  1代表:/dev/stdout
3.  標準錯誤輸出(stderr):代碼為 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr

輸出重定向

“>”和“>>”用于重定向標準輸出
command [1-n] > file或文件操作符或設備
上面命令意思是:將一條命令執行結果(標準輸出,或者錯誤輸出,本來都要打印到屏幕上面的)  重定向其它輸出設備(文件,打開文件操作符,或打印機等等)1,2分別是標準輸出,錯誤輸出。

1) 可以省略,不寫,默認所至標準輸出
student@student-VirtualBox:/tmp$ ls text.sh
ls: 無法訪問text.sh: 沒有那個文件或目錄

"2>"和“2>>”用于重定向標準輸出
2)把錯誤輸出,不輸出到屏幕,輸出到t1.txt
student@student-VirtualBox:/tmp$ ls text.sh 2>t1.txt 
student@student-VirtualBox:/tmp$ cat t1.txt 
ls: 無法訪問text.sh: 沒有那個文件或目錄

3) 繼續追加把輸出寫入t1.txt  “>>”追加操作符
student@student-VirtualBox:/tmp$ cat t1.txt 
ls: 無法訪問text2.sh: 沒有那個文件或目錄
student@student-VirtualBox:/tmp$ ls text3.sh 2>>t1.txt 
student@student-VirtualBox:/tmp$ cat t1.txt 
ls: 無法訪問text2.sh: 沒有那個文件或目錄
ls: 無法訪問text3.sh: 沒有那個文件或目錄

"&>"同時重定向標準輸出及標準錯誤輸出
特殊設備文件: /dev/null
/dev/null 這個設備,是linux 中黑洞設備,什么信息只要輸出給這個設備,都會給吃掉

student@student-VirtualBox:~$ ls -ldh /etc/ &> /dev/null 

注意:
1、shell遇到”>”操作符,會判斷右邊文件是否存在,如果存在就先刪除,并且創建新文件。不存在直接創建。 無論左邊命令執行是否成功。右邊文件都會變為空。
2、“>>”操作符,判斷右邊文件,如果不存在,先創建。以添加方式打開文件,會分配一個文件描述符[不特別指定,默認為1,2]然后,與左邊的標準輸出(1)或錯誤輸出(2) 綁定。
3、當命令:執行完,綁定文件的描述符也自動失效。0,1,2又會空閑。
4、一條命令啟動,命令的輸入,正確輸出,錯誤輸出,默認分別綁定0,1,2文件描述符。
5、一條命令在執行前,先會檢查輸出是否正確,如果輸出設備錯誤,將不會進行命令執行

輸入重定向

command-line [n] <file或文件描述符&設備

將然有,命令默認從鍵盤獲得的輸入,改成從文件,或者其它打開文件以及設備輸入。執行這個命令,將標準輸入0,與文件或設備綁定。將由它進行輸入

cat >file 記錄的是鍵盤輸入,相當于從鍵盤創建文件,并且只能創建新文件,不能編輯已有文件.
student@student-VirtualBox:/tmp$ cat > catfile
test
hello,word
#這里按下 [ctrl]+d 離開 
#從標準輸入【鍵盤】獲得數據,然后輸出給catfile文件
student@student-VirtualBox:/tmp$ cat catfile 
test
hello,word

student@student-VirtualBox:/tmp$ cat>catfile < t1.txt 
student@student-VirtualBox:/tmp$ cat catfile
abcdef
# cat從catfile輸入數據,然后輸出給文件catfile

cat <<EOF,
cat命令是linux下的一個文本輸出命令,通常是用于觀看某個文件的內容的;
EOF是"end of file",表示文本結束符。
結合這兩個標識,即可避免使用多行echo命令的方式,并實現多行輸出的結果。

student@student-VirtualBox:/tmp$ cat>catfile <<eof
> test a file
> test
> haha!
> eof
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,449評論 9 467
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,200評論 2 33
  • 本文筆記源自這里——[實驗樓]歡迎大家在下面交流其中有問題的地方喜歡請點收藏,每日更新(全部已親自實踐). 一. ...
    東皇Amrzs閱讀 4,024評論 7 54
  • 說到韓國,大家首先想到的可能就是泡菜,而說到四川,大家想到的應該就是麻辣火鍋。其實,四川不止火鍋好吃,泡菜也同樣霸...
    浮鹽閱讀 748評論 6 10
  • 程序員總是說自己很忙,是加班狗,然而很多人在任務間歇時、項目交替時,都會有不少空閑時間,沒事兒干、很無聊,可要是讓...
    安曉輝0閱讀 8,501評論 74 224