![](https://img.51dongshi.com/20250105/wz/18528771552.jpg)
系統(tǒng)大全為您提供?在這里,重定向可以做如下理解:原來的輸出方式好比是向一個水池(屏幕)中放水的水龍頭,水就是要輸出的內(nèi)容當(dāng)把水龍頭轉(zhuǎn)接到不是水池的桶(文件)中時,就是重定向輸出了。linux中的輸出方式主要有:標準輸出的兩種方式:STDOUT?標準輸出STDERR?標準錯誤屏幕的輸出可以被重定向,使得原來應(yīng)該輸出到屏幕上的內(nèi)容被重定向到其他的地方,比如說是文件:格式:命令?操作?文件名e.g.ls?/etc?-l?1>?ls.txt?2>err.txt其中:命令還是原來操作的命令,所有的已知有輸出命令都是可以的。操作是輸出的類型,有1>?一類,STDOUT2>?二類,STDERR&>?所有(包括1類和2類消息)注意此時輸出中如果有錯誤信息,會首先輸出,無論先執(zhí)行的是1類還是2類輸出>?如果不加數(shù)字(類型)默認的是標準輸出,即1它所執(zhí)行的操作是首先將重定向到的文件進行刪除,注意這一點,是附加append還是要通過臨時文件來寫入文件名就是要被重定向到的地方,當(dāng)原路徑中已有此文件就會被覆蓋,沒有則生成。如果想原文件中的內(nèi)容不被覆蓋而是在后面進行追加(寫在后面)那么就可以使用如下的操作1>>?同?>>2>>&>>追加模式時如果被重定向的輸出有標準輸出和標準錯誤輸出,那么e.g.?ls?/etc?/wrongdir?1>>ls.txt?2>>err.txtls?/etc?/wrongdor?1>>ls.txt?2>>ls.txt不過我在ubuntu12.04中試過后看到使用&>>也是可以的。當(dāng)某類輸出被重定向后,該類輸出便不會在屏幕上顯示當(dāng)標準輸出和標準錯誤輸出同時存在的時候,根據(jù)操作的種類決定重定向內(nèi)容和重定向的文件。head?命令:從頭看tail?命令:從尾看后面可以加上參數(shù)進行處理:e.g.?cat?5.txt?|?head?-n5?察看前5行的內(nèi)容cat?5.txt?|?head?-n?10?|tail?-n?7?察看4,5,6,7,8,9,10共7行內(nèi)容用這種方法可以快速截取某大文件中的某一段cat?5.txt?|?head?-n?10?|tail?-n?7?>result.txt-------------------------------------grep?利用正則表達式?達到字符匹配的效果,-i?(case-insensitive)?中的關(guān)鍵開關(guān)?表示忽略大小寫的差異-n?打印出搜到的內(nèi)容所在的行號?配合vim使用的話,可用vim?+行號數(shù)字?路徑-v?排除掉給定的東西,給出剩下的東西versecat?filename?|grep?^#?-v?|grep?-v?^$cat?filename?|gerp?-Ev?'^(#|$)'--------------注意正則表達式的寫法以上的兩種寫法是一致的-A數(shù)字?after?在A之后的數(shù)字行的內(nèi)容-B數(shù)字?before?在B之前的數(shù)字行的內(nèi)容---------------------------------------cut命令?按照制定的內(nèi)容將內(nèi)容進行切割,相當(dāng)于split()函數(shù)-d?(delimiter)?制定分割的分隔符?默認的是Tab?e.g.?cut?-d:?#以:進行切割-f?制定要打印的列?cut?-d:?-f?1-c?按照字符進行切割?echo?"weuhi-qiege-sdfijo"|cut?-c?7-11?#切割qiege----------------------------------------sort命令?對內(nèi)容進行排序如果直接用sort命令而不制定按照的內(nèi)容的格式進行排序,那么默認按照的方式是字符的字典順序-n?開關(guān),對內(nèi)容進行排序,排序格式按照的內(nèi)容是數(shù)字?默認是升序-r?(reverse)降順-t?c使用c作為字段分隔符-k?x對字段x排序?sort?-t:?-k?3?按照:進行分割后按照第三列進行分割-----------------------------------------uniq命令將相鄰的兩行相同的內(nèi)容進行移除-c?用來統(tǒng)計重復(fù)的個數(shù)cat?num.txt?|?sort?|uniq?-c?用于統(tǒng)計文本中出現(xiàn)的內(nèi)容-----------------------------------------文本分析工具wc?對文本進行計數(shù)-l?行數(shù)統(tǒng)計-w?單詞數(shù)統(tǒng)計-c?字節(jié)統(tǒng)計-m?字符統(tǒng)計(不顯示)-----------------------------------------文本分析?對比文件diff?對文本進行對比分析?輸出保存到一個文件中,稱呼其為“補丁文件”使用時使用?-u作為“統(tǒng)一”格式的diff?適用于補丁文件,便于以后用patch命令進行打補丁diff?filename1?filename2出現(xiàn)結(jié)果就是兩者文件的不同?顯示的是兩個文件中的不同filename1為左文件??新文件-----------------------------------------patch?對文件進行大補丁復(fù)制所作的改變到其他文件中,使用-b自動備份要改變的文件diff?-u?foo.conf-broken?foo.conf-works?>foo.patchpatch?-b?foo.conf-broken----------------------------------------tr?traslate?翻譯轉(zhuǎn)換----------------------------------------命令sed(stream?editor)全文替換但是其編輯的內(nèi)容只是流的編輯,當(dāng)然可以替換的內(nèi)容重定向到文件sed?‘sarch/replace/’將要找的內(nèi)容(search)換成要替換成的內(nèi)容(replace)其中/是定界符?還可以是@?#等g?全局開關(guān),使得如果一行中出現(xiàn)多個要被替換的內(nèi)容時可以全部被替換i?忽略大小寫d?刪除命令前添加?m,n表示對[m,n]行區(qū)間的內(nèi)容執(zhí)行sed?'87,93sarch/replace/'命令m=87?n=93sed?'/cat/,/dog/sarch/replace'遇到cat直到dog的內(nèi)容被替換掉?[cat,dog]-----------------------------------------sed?-e?'表達式1'?-e?'表達式2'?-e?'表達式3'-e開關(guān)用法?用一次sed可以執(zhí)行多個表達式-f開關(guān)用法?將命令的表達式寫到文件中,然后用sed?-f?myrule.txt來執(zhí)行???以上就是系統(tǒng)大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統(tǒng)大全官網(wǎng)吧。??本文來自系統(tǒng)大全http:///如需轉(zhuǎn)載請注明!推薦:win7純凈版