文本處理工具
查看工具
cat;tac;rev;more
cat
連接文件,并打印到標準輸出上。
注意:當文件比較大的時候,文本在屏幕上一閃而過,導致無法看清內容,所以對于較大的文件建議結合著more,less等命令結合來用。
使用方法:
-E: 顯示行結束符$ -n: 對顯示出的每一行進行編號 空行也加行號 -A:顯示所有控制符 相當于-ETV -b:非空行編號 -s:壓縮連續的空行成一行 -v:非打字符 顯示^M等這些非打印字符 -T:顯示制表符 ^I(tab鍵)
快捷鍵:
^s 停止滾屏 ^q 恢復滾屏 ^c 中斷命令
示例: cat 1.log 2.log >3.log 把文件1.log和2.log合并打印到3.log并且是按文件順序合并。 #cat合并
nl命令相當于cat -b 同樣可以顯示非空行的編號,有空格也不算非空行。nl是一條命令而不是別名可以用man 查看
tac 顯示的效果與cat相反,是行相反,就是第一行會變為最后一行。tac也是一條命令不是別名。
rev 是倒敘顯示的一種命令,我們通常來講是翻轉,他把每一行的字符反過來顯示,但是行還是不變的。
more
分頁查看文件
使用方法:
-c:顯示前幾行 more -c -5 passwd -d: 顯示翻頁及退出提示 more -cd -10 passwd
在加管道的情況下,centos7.3不能翻頁,但是6.9可以用^b進行翻頁
less
一頁一頁地查看文件,跟more比較相似,但是less系統默認允許向前先后翻頁,該命令只對文本文件有效,或者是搜索。
pageup 向上 pagedown 向下
less命令是man命令使用的分頁器
當正在瀏覽一個文件時,也可以使用 :e命令 打開另一個文件。
默認分頁顯示結束的時候也不會退出顯示,需要用Q退出。
常用選項:
-e 文件內容顯示結束自動關閉 -N 顯示每行的行號 -s 將連續的空行壓縮成一行顯示
文件行列操作工具
paste 合并兩個文件同行號的列到一行
一般會與diff命令一起使用來修復文件
-d 分隔符:指定分隔符,默認用TAB -s : 所有行合成一行顯示 paste f1 f2 paste -s f1 f2
示例 #paste
head
顯示文件前幾行(默認顯示是)行
-c #: 指定獲取前#字節 -n #: 指定獲取前#行 -#:指定行數
顯示文件的前兩行
并且可以顯示文件的前幾個字節,當文件內容是漢字的時候,一個漢字會占到三個字節。
tail 顯示后幾行,用法跟head一樣默認也是顯示后十行。
-c #: 指定獲取后#字節 -n #: 指定獲取后#行 -#: -f: 跟蹤顯示文件新追加的內容,常用日志監控 后加
tail可以跟head向結合取特定的某一行 #特定行
當tail-f用于跟蹤日志的時候可以加&讓監控放到后臺運行,不影響其他操作,什么時候有更新會自動彈出來提醒。
cut 用來剪切某一列
-d DELIMITER: 指明分隔符,默認tab -f FILEDS: #: 第#個字段 #,#[,#]:離散的多個字段,例如1,3,6 #-#:連續的多個字段, 例如1-6 混合使用:1-3,7 -c按字符切割 --output-delimiter=STRING指定輸出分隔符
通常與tail,head,tr,cat等命令配合使用查詢某一個特定的數據。
比如查看磁盤的利用率
有一個文件是存隨機字符串的 /dev/urandom 我們也可以從中提取出來一些字母數字做為口令用,但是文件里包含的也有特殊符號,所以要過濾一樣再獲取。
這是生成10位的口令
分析工具
在分析的工具中,最為普遍的就是數據統計(wc)和整理文本的(sort)。當然也少不了一些對比的工具,比如diff和patch。
wc
統計單詞總數、行總數、字節總數和字符總數。
第一個代表行數,第二個代表單詞數,第三個代表字符總和。
也可以特殊的選項來顯示不同的統計:
使用-l來只計數行數 使用-w來只計數單詞總數 使用-c來只計數字節總數 使用-m來只計數字符總數
sort 把文件按照一定的方式整理打印到標準輸出上,不改變原始文件。
常用選項:
-r執行反方向(由上至下)整理 -n執行按數字大小整理 -f選項忽略(fold)字符串中的字符大小寫 -u選項(獨特,unique)刪除輸出中的重復行 -t c選項使用c做為字段界定符 -k X選項按照使用c字符分隔的X列來整理能夠使用多次
一般-k -t會配合使用按照某一列來排序
以:為分割符,把第三列按數字大小排序
最后要提一下文件中使用的兩個命令,patch和diff。diff命令輸出常被保存做成補丁的文件
diff 比較兩文件內容之間的區別
比較這里兩文件之后的顯示 他明確的指出來第幾行,并進行比較。
通常diff與patch一起使用,為程序打補丁。
diff-ufoo.conf-brokenfoo.conf-works>foo.patch
把差異寫到補丁文件中
patch-bfoo.conf-brokenfoo.patch
用補丁文件對數據恢復或更改
patch復制在其它文件中進行的改變(要謹慎使用),適用-b選項來自動備份改變了的文件。
原創文章,作者:phosphor,如若轉載,請注明出處:http://www.www58058.com/77317