shell文件描述符與重定向

文件描述符與重定向

1 文件描述

linux 中:當一個命令發(fā)生錯誤并回退時,它會返回一個非0的退出狀態(tài);而當命令成功完成后帚豪,它會返回為0的退出狀態(tài)。
退出狀態(tài)可以從特殊變量?中獲得(在命令結束后立即運行echo? 可以打印出退出狀態(tài))犁河。

系統(tǒng)描述符 對應輸出 描述
0 stdin 標準輸入
1 stdout 標準輸出
2 stderr 標準錯誤

1.1 文件描述的輸出

  1. 錯誤示范:(輸出到屏幕)
ls + > out.txt
  1. 正確示范:(指明輸出狀態(tài))
ls + 2> out.txt
  1. 重定向輸出到兩個文件:
cmd 2>stderr.txt 1>stdoout.txt
  1. 同時輸出到同一個文件:
cmd 2>&1 alloutput.txt
cmd &> output.txt

1.2 實例:

??創(chuàng)建測試文件:

echo A1 > a1
echo A2 > a2
echo A3 > a3
chmod 000 a1        // 清除 a1 所有權限

??使用通配符 a* 查看所有文件:

cat a* 2> err.txt

cat : a1 permission denied
A2
A3

cat err.txt
cat : a1 permission denied

??cat -n 為從 stdin 中接收到的每一行數(shù)據(jù)前加上行號并將其寫入 stdout:

cat a* | tee out.txt | cat -n 
cat: a1: Permission denied
1 A2
2 A3

??要發(fā)送輸入內(nèi)容的兩份副本給 stdout健提,使用 - 作為命令的文件名參數(shù)即可:

echo who is this | tee -

who is this
who is this

2 自定義描述符

2.1 exec 命令創(chuàng)建全新的文件描述符。

描述符的常用打開模式有三種:
只讀模式
追加寫入模式
截斷寫入模式

??< 操作符可以將文件讀入stdin
??> 操作符用于截斷模式的文件寫入(數(shù)據(jù)在目標文件內(nèi)容被截斷后寫入)
??>> 操作符用于追加模式的文件寫入
??> 等同于 1>
??>> 等同于 1>>

2.2 只讀模式

??創(chuàng)建描述符:

exec 3<input.txt    //使用文件描述符 3 打開并讀取文件

??使用:

echo this is a test line > input.txt 
exec 3<input.txt
cat <&3
this is a test line

2.3 截斷模式

??創(chuàng)建描述符:

exec 4>output.txt 
echo newline >&4

cat outpute.txt
newline

2.4 追加模式

??追加模式:

exec 5>>input.txt
echo appended line >&5

cat input.txt
newline
appended line
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末占拍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子捎迫,更是在濱河造成了極大的恐慌晃酒,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,949評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窄绒,死亡現(xiàn)場離奇詭異贝次,居然都是意外死亡,警方通過查閱死者的電腦和手機彰导,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,772評論 3 385
  • 文/潘曉璐 我一進店門蛔翅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敲茄,“玉大人,你說我怎么就攤上這事山析⊙吡牵” “怎么了?”我有些...
    開封第一講書人閱讀 158,419評論 0 348
  • 文/不壞的土叔 我叫張陵笋轨,是天一觀的道長秆剪。 經(jīng)常有香客問我,道長爵政,這世上最難降的妖魔是什么仅讽? 我笑而不...
    開封第一講書人閱讀 56,812評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮钾挟,結果婚禮上洁灵,老公的妹妹穿的比我還像新娘。我一直安慰自己等龙,他們只是感情好处渣,可當我...
    茶點故事閱讀 65,927評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛛砰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪黍衙。 梳的紋絲不亂的頭發(fā)上泥畅,一...
    開封第一講書人閱讀 50,102評論 1 291
  • 那天,我揣著相機與錄音琅翻,去河邊找鬼位仁。 笑死,一個胖子當著我的面吹牛方椎,可吹牛的內(nèi)容都是我干的聂抢。 我是一名探鬼主播,決...
    沈念sama閱讀 39,171評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼棠众,長吁一口氣:“原來是場噩夢啊……” “哼琳疏!你這毒婦竟也來了?” 一聲冷哼從身側響起闸拿,我...
    開封第一講書人閱讀 37,921評論 0 268
  • 序言:老撾萬榮一對情侶失蹤空盼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后新荤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揽趾,經(jīng)...
    沈念sama閱讀 44,366評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,675評論 2 327
  • 正文 我和宋清朗相戀三年苛骨,在試婚紗的時候發(fā)現(xiàn)自己被綠了篱瞎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苟呐。...
    茶點故事閱讀 38,820評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖俐筋,靈堂內(nèi)的尸體忽然破棺而出牵素,到底是詐尸還是另有隱情,我是刑警寧澤校哎,帶...
    沈念sama閱讀 34,523評論 4 335
  • 正文 年R本政府宣布两波,位于F島的核電站,受9級特大地震影響闷哆,放射性物質(zhì)發(fā)生泄漏腰奋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,162評論 3 317
  • 文/蒙蒙 一抱怔、第九天 我趴在偏房一處隱蔽的房頂上張望劣坊。 院中可真熱鬧,春花似錦屈留、人聲如沸局冰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,885評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽康二。三九已至,卻和暖如春勇蝙,著一層夾襖步出監(jiān)牢的瞬間沫勿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,126評論 1 267
  • 我被黑心中介騙來泰國打工味混, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留产雹,地道東北人。 一個月前我還...
    沈念sama閱讀 46,647評論 2 362
  • 正文 我出身青樓翁锡,卻偏偏與公主長得像蔓挖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子馆衔,可洞房花燭夜當晚...
    茶點故事閱讀 43,732評論 2 351