. cat 功能是連接多個文件並且列印到屏幕輸出,或重定向到指定的文件 五大功能: 1.查看文件內容 cat file.txt 2.合併文件內容 cat file1 file2>newfile3 3.創建便捷新文件 cat >file 輸入完成之後,使用ctrl+c結束即可 4.清空文件內容 cat ...
. cat
功能是連接多個文件並且列印到屏幕輸出,或重定向到指定的文件
五大功能:
1.查看文件內容 cat file.txt
2.合併文件內容 cat file1 file2>newfile3
3.創建便捷新文件 cat >file 輸入完成之後,使用ctrl+c結束即可
4.清空文件內容 cat /dev/null >file.txt
5.非互動式的編輯或者追加內容到文件尾部
cat>>file.txt<<EOF
1234
EOF
-n # 從1開始對多有輸出的內容按行編號
-b # 與-n類似,但是會忽略空白行
-A # 每行的行尾顯示$符號
. tac
反向顯示文件內容
. more
分頁顯示文件內容
.less
less is more.分頁顯示文件內容,但是不是一次性載入文件內容,而是根據需要進行載入
尤其是打開超大文件時,為了不影響磁碟IO,會使用此命令
. head
顯示文件內容頭部,預設輸出開頭10行
-n 指定顯示的行數,後面接n(數字)
-c 以位元組為單位
. tail
顯示文件內容的尾部,預設輸出文件的最後10行
-f # 實時輸出文件變化後追加的數據 一般監控程式執行產生的日誌,來定位問題
--pid=進程號 # 與-f參數連用,進程結束後自動退出tail命令
-n # 顯示行數
-c # 顯示位元組數,用法基本與head差不多
. tailf
跟蹤日誌文件
幾乎等同於 tail -f ,與之不同的是,如果文件不增長,name不會去訪問磁碟文件,也不會更改文件的訪問時間
. cut
從文件的每一行剪切位元組,字元或欄位,並將這些位元組,字元,或欄位輸出至標準輸出
-b # 以位元組為單位進行分割
-n # 取消分割多位元組字元,與選項-b一起使用
-c # 以字元為單位進行分割
-d # 自定義分隔符,預設以空格為分隔符
-f # 指定顯示那個區域,與-d配合使用
N # 第N個位元組,字元,欄位
N-
N-M
-M # 從第1到第M個。。
cut -b 3-5,10 xiaolizi.txt cut -b -3 xiaolizi.txt cut -b 3- xiaolizi.txt cut -b 3,3 xiaolizi.txt cut -c 2-10 xiaolizi.txt cut -d : -f 1 /etc/passwd cut -d : -f 3-5 /etc/passwd
. split
按照指定的行數或者指定的文件大小分割文件
split [OPTION]... [INPUT [PREFIX]]
-l # 指定分割後文件的最大行數
-b # 指定分割後文件的最大位元組數
-a # 指定尾碼長度,預設為2位字母
-d # 使用數字尾碼
aplit -l 10 -a 3 /etc/inittab new2_ split -b 500k -d lvm lvm_
. paste
將文件按照行與行進行合併,中間預設使用空格隔開
paste test1 test2 paste -d: test1 test2 # 以:作為分隔符號 paste -s test1 # 將內容從列轉換為行
. sort
將如數的文件內容按照指定的規則進行排序,然後排序結果輸出
-n # 依照數值大小進行排序
-r # 倒序排序
-k # 按指定區間排序
-t # 指定分隔符
b # 忽略每行開頭存在的空格字元
-u # 去出重覆行 單獨的命令uniq
sort -t " " -k2 xiaolizi.txt sort -n -t . -k3,3 -k4.1,4.3 arp.txt # -n:按數字排序 -t . :按 . 座位分隔域 -k3,3:按第三個欄位開始到第三個欄位結束排序 -k4.1,4.3:按第四個欄位第一個字元開始,到第四個欄位,第三個字元結束
. join
類似SQL語句中的join on語句,將文件裡面關聯的內容進行合併,一般處理魚油相關性的文件
合併的文件內容要求是經過sort排序後的
. uniq
去除重覆行
一般是是將sort排序後的內容,通過管道傳遞給uniq進行處理
-c # 取出重覆行,並計算每行出現的次數
-d # 只顯示重覆的行
-u # 只顯示唯一的行
cut -d '/' -f 3 xiaolizi.log|sort|uniq -c |sort -rn awk -F "/" '{print $3}' xiaolizi.log|sort|uniq -c|sort-rn