1.cat
主要三大功能:
1.一次顯示整個文件:cat filename
2.從鍵盤創建一個文件:cat > filename << EOF ….>EOF (只能創建新文件,不能編輯已有文件);cat向已經存在的文件追加內容:cat >> file <<EOF…>EOF
3.將幾個文件合并為一個文件:cat file1 file2 > file;cat 把一個或多個已經存在的文件內容,追加到一個已存在的文件中: cat file1 file2 file3 >> file4
ps:>是創建,>>是追加
命令參數:
cat [option] filename
cat -v: 顯示非打印字符
-E :顯示行結束符$
-T :顯示TAB
-n :對顯示出的每一行進行編號,顯示行號
-s :將連續的重復空行變成一行
-A = -vET: 顯示所有控制符
-b :非空行編號
2.more
功能:more命令和cat的功能一樣都是查看文件里的內容,但有所不同的是more可以分頁來查看文件的內容,還支持直接跳轉行等功能。
命令參數:
more [optiions…] file
+n :從笫n行開始顯示
-n :定義屏幕大小為n行,即每屏顯示n行。(屏幕最下面顯示了該屏展示的內容占文件總行數的比例,按 Ctrl+F 或者 空格鍵 將會顯示下一屏5條內容,百分比也會跟著變化。)
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然后從該字串前兩行之后開始顯示
-c :從頂部清屏,然后顯示
-d :提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能
-l :忽略Ctrl+l(換頁)字符
-p :通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s :把連續的多個空行顯示為一行
-u :把文件內容中的下畫線去掉
3.less
功能:less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。(一頁一頁的查看文件或STDIN(標準輸入)輸出)
命令參數:
-b <緩沖區大小>: 設置緩沖區的大小
-e :當文件顯示結束后,自動離開
-f :強迫打開特殊文件,例如外圍設備代號、目錄和二進制文件
-g :只標志最后搜索的關鍵詞
-i :忽略搜索時的大小寫
-m :顯示類似more命令的百分比
-N :顯示每行的行號
-o <文件名> :將less 輸出的內容在指定文件中保存起來
-s :顯示連續空行為一行
-S :行過長時間將超出部分舍棄
-x <數字> :將“tab”鍵顯示為規定的數字空格
4.head
功能:head 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10行。
命令參數:
head -n 數字 filename 顯示前 n行
-n 行號 顯示前n行
– 行號 顯示前n行
-c 字節數 顯示前n個字節
-v 顯示文件名
-q 隱藏文件名
顯示文件的除了最后n個字節以外的內容 ,命令:head -c -數字 filename
輸出文件除了最后n行的全部內容,命令:head -n -數字 filename
5.tail
功能:用于顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。
命令參數:
tail -c <數目> :顯示后_字節數
-n <行數> :顯示后_行數
— <行號> :顯示后_行
-f :循環讀取,動態顯示
-q :不顯示處理信息
-v :顯示詳細的處理信息
–pid=PID 與-f合用,表示在進程ID,PID死掉之后結束.
-q, –quiet, –silent 從不輸出給出文件名的首部
-s, –sleep-interval=S 與-f合用,表示在每次反復的間隔休眠S秒
6.cut
功能:cut是一個選取命令,就是將一段數據經過分析,取出我們想要的。一般來說,選取信息通常是針對“行”來進行分析的,并不是整篇信息分析的。
命令主要參數:
cut [option] [file]
-b :以字節為單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指 定了 -n 標志。
-c :以字符為單位進行分割。
-d :自定義分隔符,默認為制表符,(只能在-d后面設置一個空格,不許設置多個空格,因為cut只允許間隔符是一個字符)。
-f :與-d一起使用,指定顯示哪個區域。
-n : 取消分割多字節字符。僅和 -b 標志一起使用。如果字符的最后一個字節 落在由 -b 標志的 List 參數指示的<br />范圍之內,該字符將被寫出;否則,該 字符將被排除。
例子:
1.

(-3表示從第一個字節到第三個字節,而3-表示從第三個字節到行尾。兩種情況下,都包括了第三個字節“c”。執行who|cut -b -3,3-,是輸出整行,不會出現連續兩個重疊的c的。)
2.
因為-b和-c只能在固定格式的文檔中提取信息,而對于非固定格式的信息則用域。
cut命令提供了這樣的提取方式,具體的說就是設置“間隔符”,再設置“提取第幾個域”。
(用-d來設置間隔符為冒號,然后用-f來設置要取的是第一個域,再按回車,所有的用戶名就都列出來了。在設定-f時,也可以使用例如3-5或者4-類似的格式)
3.
設定一個空格為間隔符 :cut -d ‘ ‘ -f1
兩個單引號之間可確實要有一個空格,只能在-d后面設置一個空格,不許設置多個空格,因為cut只允許間隔符是一個字符。
7.paste
功能:paste 指令會把每個文件以列對列的方式,一列列地加以合并。
命令參數:
-d<間隔字符>或–delimiters=<間隔字符> : 用指定的間隔字符取代跳格字符。
-s或–serial ?。?將每個文件合并成行而不是按行粘貼
–help ?。涸诰€幫助。
–version:顯示幫助信息。
[file…] :指定操作的文件路徑
– :使用標準輸入
語法:
paste f1 f2 [f3] 合并制定文件的內容
paste -s f1 將文件內容變成一行顯示 也可以用 tr ‘\n’ ‘\t’ 實現
paste -d “” f1 f2 [f3] 合并后的分隔符,默認TAB
8.wc
功能:wc即Word count,為統計指定文件中的字節數、字數、行數,并將統計結果顯示輸出。(統計指定文件中的字節數、字數、行數,并將統計結果顯示輸出。該命令統計指定文件中的字節數、字數、行數。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所指定文件的總統計數。)
命令參數:
語法:wc 命令
-c :統計字節數。
-l :統計行數。
-m :統計字符數。這個標志不能與 -c 標志一起使用。
-w :統計單詞數。一個字被定義為由空白、跳格或換行字符分隔的字符串。
-L :打印最長行的長度。
-help :顯示幫助信息
–version :顯示版本信息
wc 行數 單詞數 字節
9.sort
功能:依據不同的數據類型進行排序
命令參數:
-r :執行反方向(由上至下)整理? (sort默認的排序方式是升序)
-n :執行按數字大小整理
-f :選項忽略(fold)字符串中的字符大小寫
-u :選項(獨特,unique)刪除輸出中的重復行
-t c :選項使用c做為字段界定符(-t :分隔符,默認是用 [tab] 鍵來分隔)
-k X :選項按照使用c字符分隔的X列來整理能夠使用多次
-M :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;

10.uniq
功能:從輸入中刪除前后相接的重復的行
命令參數:
uniq [option] [file]
-c: 顯示每行重復出現的次數
-d:僅顯示重復過的行
-u:僅顯示不曾重復的行(連續且完全相同方為重復)
-i : 忽略大小寫字符的不同
常和sort命令一起配合使用(為了使uniq起作用,所有的重復行必須是相鄰的):
sort userlist.txt | uniq -c
11.diff patch
功能:diff命令能比較單個文件或者目錄內容。如果指定比較的是文件,則只有當輸入為文本文件時才有效。以逐行的方式,比較文本文件的異同處。如果指定比較的是目錄的的時候,diff 命令會比較兩個目錄下名字相同的文本文件。列出不同的二進制文件、公共子目錄和只在一個目錄出現的文件。
命令參數:
diff file1 file2 比較file1和file2的區別
diff -u f1 f2 > diff.log 生成補丁
diff f2 f2.rm 比較還原回來的新文件與被刪除的文件,發現沒有區別。
patch -b f1 diff.log 通過補丁還原文件 ,生成的f1為原來的f2,fi.orig為原f1
mv f2 f2.rm 相當于刪除了文件。
mv f1 f2 還原原始的新文件名
mv f1.orig f1 還原原始的舊文件名
12.grep
Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
命令參數:
grep [options] pattern [file]
–color=auto 將匹配的結果著色顯示
-v 反向匹配、
-i 忽略大小寫
-n 顯示的結果前增加行號
-c 僅顯示匹配到結果的行數
-o 僅顯示匹配到的字符串
-q 靜默模式,不輸出任何信息 或者 &> /dev/null
-A# 顯示關鍵字行及向后#行
-B# 顯示關鍵字行及向前#行
nmap -v -sP 172.17.252.0/24 |grep -B1 “Host is up”|grep for |cut -d” ” -f5 |wc -l
-C# 顯示關鍵字向前#行,當前行,及向后#行
-e 關鍵字1 -e 關鍵字2 實現多個選項間的邏輯or關系
-w 匹配整個單詞
-E 使用擴展正則表達式 或egrep
-F 不使用正則表達式 或 fgrep
13.pattern正則表達式主要參數:
\: 忽略正則表達式中特殊字符的原有含義。
^: 匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\<: 從匹配正則表達 式的行開始。
\>: 到匹配正則表達式的行結束。
[ ]: 單個字符,如[A]即A符合要求 。
[ – ]: 范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。: 所有的單個字符。
* : 有字符,長度可以為0。
14、正則表達式
(1)
. 匹配任意單個字符
[] 匹配指定范圍內的任意單個字符
[^] 匹配指定范圍外的任意單個字符
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范圍廣)
[:cntrl:] 不可打印的控制字符(退格、刪除、警鈴…)
[:digit:] 十進制數字 或[0-9]
[:xdigit:]十六進制數字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 標點符號
(2)
* 匹配前面的字符任意次,包括0次
貪婪模式:盡可能長的匹配
.* 任意長度的任意字符
\? 匹配其前面的字符0 或1次
\+ 匹配其前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m 次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
15.egrep擴展的正則表達式
擴展的正則表達式
egrep = grep -E
egrep [options] pattern [file]
擴展正則表達式的元字符:
字符匹配:
. 任意單個字符
[ ] 指定范圍的字符
[^] 不在指定范圍的字符
次數匹配:
* : 匹配前面字符任一次
?:0或1次
+ : 1次或多次
{m} : 匹配m次
{m,n} : 至少m,至多n次
位置錨定:
^ : 行首
$ :行尾
\ <, \b :語首
\> ,\b :語尾
分組:
()
后向引用 :\1 ,\2
或者:
a|b :a或 b
C | cat :C或
cat
(C|c)at :Cat 或cat
原創文章,作者:Light Yagami,如若轉載,請注明出處:http://www.www58058.com/83164