Linux-A-基礎(chǔ)-第6章-管道集畅,重定向及文本處理


目錄(持續(xù)更新)


基礎(chǔ)-第0章-安裝
基礎(chǔ)-第1章-基本操作
基礎(chǔ)-第2章-磁盤及文件系統(tǒng)管理
基礎(chǔ)-第3章-獲得幫助
基礎(chǔ)-第4章-用戶及權(quán)限基礎(chǔ)
基礎(chǔ)-第5章-網(wǎng)絡(luò)基本配置
基礎(chǔ)-第6章-管道奏纪,重定向及文本處理
基礎(chǔ)-第7章-系統(tǒng)啟動(dòng)詳解

進(jìn)階-第1章-日志服務(wù)
進(jìn)階-第2章-DNS域名服務(wù)器
進(jìn)階-第3章-FTP文件共享服務(wù)
進(jìn)階-第4章-NFS文件共享服務(wù)
進(jìn)階-第5章-SMB文件共享服務(wù)
進(jìn)階-第6章-WEB服務(wù)Apache篇
進(jìn)階-第7章-電子郵件服務(wù)
進(jìn)階-第8章-Linux服務(wù)基礎(chǔ)及管理

[高級(jí)-第1章-LVM邏輯卷]
[高級(jí)-第2章-高級(jí)權(quán)限ACL]
[高級(jí)-第3章-RAID提升速度及冗余]
[高級(jí)-第4章-高級(jí)網(wǎng)絡(luò)-網(wǎng)卡綁定腌乡,子端口]
[高級(jí)-第5章-SELinux安全系統(tǒng)基礎(chǔ)]
[高級(jí)-第6章-IPTable防火墻基礎(chǔ)]
[高級(jí)-第7章-Linux-自動(dòng)化部署]


第6章 管道,重定向及文本處理


第一節(jié) linux多命令協(xié)作:管道和重定向
  • 不要重復(fù)發(fā)明輪子

      開(kāi)源文化的核心理念之一就是不要重復(fù)發(fā)明輪子航缀,很多開(kāi)源軟件都是先有軟件代碼功能的重新組合
      就好象通過(guò)零件裝配機(jī)器一樣商架,源代碼的開(kāi)放和共享讓這成為了可能,同時(shí)也大大的提高了效率和生產(chǎn)力
    
  • 管道和重定向

      在linux中大多命令都很簡(jiǎn)單芥玉,我們可以通過(guò)將不同功能的命令組合一起來(lái)達(dá)到某個(gè)復(fù)雜的功能的目的
    
      linux中幾乎所有命令的返回?cái)?shù)據(jù)都是純文本的(因?yàn)槊疃际沁\(yùn)行在CLI的)
    
      而純文本形式數(shù)據(jù)大多是輸入格式蛇摸,就讓很多命令協(xié)作成為可能
    
      linux的命令行為我們提供了管道和重定向機(jī)制,多命令協(xié)作就是通過(guò)管道和重定向完成的
    
  • 命令行shell的數(shù)據(jù)流有以下定義

      STDIN       標(biāo)準(zhǔn)輸入    0   鍵盤
    
      STDOUT      標(biāo)準(zhǔn)輸出    1   終端
    
      STDERR      標(biāo)準(zhǔn)錯(cuò)誤    2   終端
    

    命令通過(guò)STDIN接受參數(shù)數(shù)據(jù)
    通過(guò)STDOUT輸出結(jié)果
    通過(guò)STDERR輸出錯(cuò)誤

  • 通過(guò)管道和重定向我們可以控制CLI數(shù)據(jù)流

  • 重定向

          >   將STDOUT重定向到文件(覆蓋)   echo"linuxcast" > outfile
              將命令的輸出保存到文件中    ls > outfile
              無(wú)法保存錯(cuò)誤報(bào)錯(cuò)信息
    
          >>  將STDOUT重定向到文件(追加)   echo"linuxcast" >> outfile
              將命令的輸出保存到文件中    ls >> outfile
              無(wú)法保存錯(cuò)誤報(bào)錯(cuò)信息
    
          2>  將STDERR重定向到文件       ls nothere 2> errorout
              只將命令的報(bào)錯(cuò)信息保存到文件  
              正常信息不會(huì)被保存
    
          2>&1    將STDERR和STDOUT結(jié)合        ls nothere 2> alloutput
              將命令輸出和報(bào)錯(cuò)都保存到文件
    
          <   重定向STDIN            grep linuxcast < /etc/passwd
              把文件信息傳遞給命令
    
  • 管道

          |   將一個(gè)命令的STDOUT        ls -l |greo linuxcast
              作為另一個(gè)命令的STDIN       find / -user linuxcast | grep video
    
      注:重定向到  /dev/null 的信息都會(huì)丟棄處理
    
      管道用來(lái)組合命令    重定向用來(lái)保存信息
    

第二節(jié) linux命令行文本處理
  • 基于關(guān)鍵字信息搜索

      命令grep用以基于關(guān)鍵字搜索文本
    
      grep 'linuxcast' /etc/passwd
    
      find / -user linuxcast |grep Video
    
      -i  搜索忽略大小寫(xiě) 
      
      -n  顯示結(jié)果所在行數(shù)
    
      -v  輸出不帶關(guān)鍵字的行
    
      -Ax 在輸出的時(shí)候包含結(jié)果所在行之后的指定行數(shù)    x為行數(shù)
    
      -Bx 在輸出的時(shí)候包含結(jié)果所在行之前的指定行數(shù)    x為行數(shù)
    
  • 基于列處理文本

      命令cut用以基于列處理文本內(nèi)容
    
      cut -d: -f1 /etc/passwd     使用:作為分割符將passwd文件處理為列 然后顯示第一列
      
      grep linuxcast /est/passwd |cut -d: -f3
    
      -d  指定分割字符(默認(rèn)是TAB)
    
      -f  指定輸出的列號(hào)
    
      -c  基于字符進(jìn)行切割
          cut -c2-6 /etc/passwd   只顯示第二到第六個(gè)字符
    
  • 文本統(tǒng)計(jì)

      命令wc用以統(tǒng)計(jì)文本信息
    
          wc linuxcast
    
      -l  只統(tǒng)計(jì)行數(shù)
    
      -w  只統(tǒng)計(jì)單詞
    
      -c  只統(tǒng)計(jì)字節(jié)數(shù)
    
      -m  只統(tǒng)計(jì)字符數(shù)
    
  • 文本排序

      命令sort用以對(duì)文本內(nèi)容進(jìn)行排序       不支持中文
    
          sort    linuxcast
    
      -r  進(jìn)行倒序排序
    
      -n  基于數(shù)字進(jìn)行·排序
    
      -f  忽略大小寫(xiě)
    
      -u  刪除重復(fù)行
    
      -t c    使用c作為分隔符分割為列進(jìn)行排序
    
      -k x    當(dāng)進(jìn)行基于指定字符分割為列的排序時(shí) 指定基于哪個(gè)列排序 x為數(shù)字
    
  • 刪除重復(fù)行

      命令sort -u 可以用以刪除重復(fù)行
    
      命令uniq用以刪除重復(fù)的相鄰行    默認(rèn)只能刪除相鄰重復(fù)行
    
  • 文本比較

      命令diff用于比較兩個(gè)文件的區(qū)別
    
      diff linuxcast linuxcast-new
    
      -i  忽略大小寫(xiě)
    
      -b  忽略空格數(shù)量的改變
    
      -u  統(tǒng)一顯示比較信息(一般用以生成patch文件,補(bǔ)丁文件)
    
          diff -u linuxcast linuxcast-new > final.patch   將文件區(qū)別做成補(bǔ)丁文件
    
  • 檢查拼寫(xiě)

      命令aspell用來(lái)檢查英文拼寫(xiě)
    
          aspell check linuxcast
          
          aspell list <linuxcast 
    
  • 處理文本內(nèi)容

      命令tr用于處理文本內(nèi)容
    
      刪除關(guān)鍵字
    
          tr -d'TMD' < linuxcast
    
      轉(zhuǎn)換大小寫(xiě)
    
          tr 'a-z' 'A-Z' < linuxcast
    
  • 搜索替換

      命令sed用來(lái)搜索并且替換文本   
    
          sed 's/linux/unix/g' linuxcast  將linux字符替換為unix
    
          sed '1,50s/linux/unix/g' linuxcast
    
          sed -e 's/linux/unix/g' -e 's/nash/nash_su/g' linuxcast
    
          sed -f sededit linuxcast
    
    
      單引號(hào)之間為正則表達(dá)式   將linux字符替換為unix   /g為全局替換   s指定行數(shù)
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末飞傀,一起剝皮案震驚了整個(gè)濱河市皇型,隨后出現(xiàn)的幾起案子诬烹,更是在濱河造成了極大的恐慌砸烦,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绞吁,死亡現(xiàn)場(chǎng)離奇詭異幢痘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)家破,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門颜说,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人汰聋,你說(shuō)我怎么就攤上這事门粪。” “怎么了烹困?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵玄妈,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拟蜻,這世上最難降的妖魔是什么绎签? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮酝锅,結(jié)果婚禮上诡必,老公的妹妹穿的比我還像新娘。我一直安慰自己搔扁,他們只是感情好爸舒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著阁谆,像睡著了一般碳抄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上场绿,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天剖效,我揣著相機(jī)與錄音,去河邊找鬼焰盗。 笑死璧尸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的熬拒。 我是一名探鬼主播爷光,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼澎粟!你這毒婦竟也來(lái)了蛀序?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤活烙,失蹤者是張志新(化名)和其女友劉穎徐裸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體啸盏,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡重贺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了回懦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片气笙。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖怯晕,靈堂內(nèi)的尸體忽然破棺而出潜圃,到底是詐尸還是另有隱情,我是刑警寧澤舟茶,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布谭期,位于F島的核電站蛉谜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏崇堵。R本人自食惡果不足惜型诚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸳劳。 院中可真熱鬧狰贯,春花似錦、人聲如沸赏廓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)幔摸。三九已至摸柄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間既忆,已是汗流浹背驱负。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留患雇,地道東北人跃脊。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像苛吱,于是被迫代替她去往敵國(guó)和親酪术。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

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