原版英文書籍《Linux命令行》閱讀記錄6 | 重定向

重定向煮嫌,回憶一下這個概念是不是之前學(xué)過:在 Java web 開發(fā)中請求的重定向。在本章節(jié)中抱虐,我們要學(xué)的是“IO重定向”昌阿。本文將從以下命令開始展開:

  • cat
  • sort
  • uniq
  • grep
  • wc
  • head
  • tail
  • tee

I/O 重定向允許我們更改輸出地點和輸入來源。一般地恳邀,輸出送到屏幕懦冰,輸入來自鍵盤, 但是通過 I/O 重定向谣沸,我們可以做出改變刷钢。我們使用 “>” 重定向符后接文件名將標(biāo)準(zhǔn)輸出重定向到除屏幕 以外的另一個文件。為什么我們要這樣做呢乳附?因為有時候把一個命令的運(yùn)行結(jié)果存儲到 一個文件很有用處内地。
例如伴澄,我們可以告訴 shell 把 ls 命令的運(yùn)行結(jié)果輸送到文件 ls-output.txt 中去, 由文件代替屏幕瓤鼻。

[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt

這樣秉版,我們就把 bin 目錄下的詳細(xì)信息重定向到了文件 ls-output.txt 了,并且有內(nèi)容茬祷。

技巧:單純的使用> ls-output.txt 這個命令可以清空一個存在的文件或者創(chuàng)建一個文件清焕。

> 符號每次都是從頭開始寫。那么祭犯,如果我們想追加文件內(nèi)容怎么辦呢秸妥? 使用>> 符號。

也就是每次都是在文件末尾添加內(nèi)容沃粗,不會覆蓋之前的內(nèi)容粥惧。

如果,現(xiàn)在需要把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)輸出錯誤都重定向到文件中最盅,可以使用

ls -l /bin/usr &> ls-output.txt

cat 連接文件

cat 命令讀取一個或多個文件突雪,然后復(fù)制到標(biāo)準(zhǔn)輸出。cat 經(jīng)常用來顯示簡短的文件涡贱,cat 可以連接多個文件咏删。比如我們下載了一個大型文件,文件被分成了還幾個小文件问词,可以使用 cat 命令把它們連接起來督函。
例子:

cat file-1.* >file-1

管道

管道操作符|,一個命令的標(biāo)準(zhǔn)輸出可以通過管道送至另一個命令的標(biāo)準(zhǔn)輸入。

例子:

ls -l /usr/bin | less

過濾器(管道線)

管道線經(jīng)常用來對數(shù)據(jù)完成復(fù)雜的操作激挪。有可能會把幾個命令放在一起組成一個管道線辰狡。 通常,以這種方式使用的命令被稱為過濾器垄分。過濾器接受輸入宛篇,以某種方式改變它,然后 輸出它锋喜。

uniq 去掉重復(fù)的行

uniq 命令經(jīng)常和 sort 命令結(jié)合在一起使用 默認(rèn)情況下些己,從數(shù)據(jù)列表中刪除任何重復(fù)行。但是如果我們想看到 重復(fù)的數(shù)據(jù)列表嘿般,讓 uniq 命令帶上-d選項

wc 打印行數(shù)、字?jǐn)?shù)和字節(jié)

默認(rèn)顯示三個數(shù)據(jù)涯冠,如果加上參數(shù) -l 就只顯示行數(shù)炉奴。
例子:統(tǒng)計 /bin 和 /usr/bin 有序程序列表的個數(shù)

ls /bin /usr/bin | sort | uniq | wc -l

grep 打印匹配行

grep 是個很強(qiáng)大的程序,用來找到文件中的匹配文本蛇更。

用法也很簡單:grep pattern [file...]

grep 有一些方便的選項:”-i”使得 grep 在執(zhí)行搜索時忽略大小寫(通常瞻赶,搜索是大小寫 敏感的)赛糟,”-v”選項會告訴 grep 只打印不匹配的行。

head / tail 打印開頭或者結(jié)尾

默認(rèn)情況下兩個命令都打印 10 行砸逊。通過參數(shù) -n 來控制打印的行數(shù)璧南。

tail 有一個選項允許你實時地瀏覽文件。使用-f選項师逸,tail 命令繼續(xù)監(jiān)測這個文件司倚,當(dāng)新的內(nèi)容添加到文件后,它們會立即 出現(xiàn)在屏幕上篓像。這會一直繼續(xù)下去直到你輸入 Ctrl-c动知。

tee 用來捕捉管道線某個時期的數(shù)據(jù)

tee 程序從標(biāo)準(zhǔn)輸入讀入數(shù)據(jù),并且同時復(fù)制數(shù)據(jù) 到標(biāo)準(zhǔn)輸出和一個或多個文件员辩。當(dāng)在某個中間處理 階段來捕捉一個管道線的內(nèi)容時盒粮,這很有幫助。
例子:

ls /usr/bin | tee ls.txt | grep zip

這次包含 tee 命令奠滑,在 grep 過濾管道線的內(nèi)容之前丹皱,來捕捉整個目錄列表到文件 ls.txt:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宋税,隨后出現(xiàn)的幾起案子摊崭,更是在濱河造成了極大的恐慌,老刑警劉巖弃甥,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爽室,死亡現(xiàn)場離奇詭異,居然都是意外死亡淆攻,警方通過查閱死者的電腦和手機(jī)阔墩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓶珊,“玉大人啸箫,你說我怎么就攤上這事∩∏郏” “怎么了忘苛?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長唱较。 經(jīng)常有香客問我扎唾,道長,這世上最難降的妖魔是什么南缓? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任胸遇,我火速辦了婚禮,結(jié)果婚禮上汉形,老公的妹妹穿的比我還像新娘纸镊。我一直安慰自己倍阐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布逗威。 她就那樣靜靜地躺著峰搪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凯旭。 梳的紋絲不亂的頭發(fā)上概耻,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音尽纽,去河邊找鬼咐蚯。 笑死,一個胖子當(dāng)著我的面吹牛弄贿,可吹牛的內(nèi)容都是我干的春锋。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼差凹,長吁一口氣:“原來是場噩夢啊……” “哼期奔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起危尿,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤呐萌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谊娇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肺孤,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年济欢,在試婚紗的時候發(fā)現(xiàn)自己被綠了赠堵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡法褥,死狀恐怖茫叭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情半等,我是刑警寧澤揍愁,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站杀饵,受9級特大地震影響莽囤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜切距,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一烁登、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔚舀,春花似錦饵沧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至礼患,卻和暖如春是钥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缅叠。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工悄泥, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肤粱。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓弹囚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親领曼。 傳聞我的和親對象是個殘疾皇子鸥鹉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容