1. 程式人生 > >Linux真小白入門教程第九集——Bash Shell命令學習(6)

Linux真小白入門教程第九集——Bash Shell命令學習(6)

Linux還提供了一些命令列工具來處理大型的資料

sort命令可以對資料進行排序(預設按照回話指定的預設語言的排序規則對文字檔案中的資料行進行排序)(預設是升序)

且預設情況下,sort命令會把數字當做字元執行標準的字元排序,所以對數字進行排序時,需要使用-n引數

-M引數,按月排序,Linux的日誌檔案經常會在每行的起始位置有一個時間戳(三字元月份),用來表明事件是什麼時候發生的

還有很多的選項引數,在實際問題中可繼續學習!

對password檔案中的各行排序,-t 指定欄位分隔符,-k 指定排序的欄位,對用冒號分隔的第三個欄位(數字ID)進行排序

結合之前的du命令

-r引數將結果降序輸出這樣就可以看出那個檔案佔用空間最多

管道命令 | 將du命令的輸出重定向到sort命令,比較有用,後面會詳細討論)

 

想要在Linux中搜尋一些資料時,可以使用grep命令

grep [options] pattern [file]

grep命令會在輸入或指定的檔案中查詢包含匹配指定模式的字元的行,grep的輸出就是包含了匹配模式的行

grep t file1

查詢file1檔案中包含字母t的所有行

grep命令非常流行,後期經歷很多更新,加入了大量的新功能(記得多用man和help命令檢視手冊

grep -v t file1

輸出不包含t字母的行

 

grep -n t file1

輸出時顯示行號

 

grep -c t file1

輸出滿足匹配的總行數

 

grep -e t -e f file1

-e選項引數用來指定多個模式,滿足或的關係

 

grep [tf] file1

方括號表示正則表示式,搜尋包含t或f的匹配

 

egrep命令是grep的一個衍生,支援POSIX擴充套件正則表示式

fgrep命令是另外一個版本,支援匹配模式指定為用換行符分隔變為一列固定長度的字串,fgrep可搜尋大型檔案中的字串。

 

Linux中包含了大量的檔案壓縮工具

bzip2   .bz2       採用BW塊排序文字壓縮演算法和霍夫曼編碼

compress     .Z        採用Unix檔案壓縮工具,已經快沒人用了

gzip      .gz       GNU的壓縮工具,LZ編碼

zip    .zip      Windows上PKZIP工具的UNix實現

 

gzip是比較實用的壓縮工具

gzip myfile

壓縮檔案

 

gzcat 用來檢視壓縮過的文字檔案的內容

gunzip 用來解壓檔案

 

目前,Unix和Linux上,最流行的歸檔工具是tar命令(歸檔資料:歸檔就是分類的意思,在linux中就是把一些檔案放在一個包中歸類)

tar function [options] obj1 obj2

 

tar -cvf test.tar test/ test1/

建立名為test.tar的歸檔檔案,含有test和test1目錄

tar -tf test.tar

列出tar檔案中的內容(但並不提取檔案)

tar -xvf test.tar

提取tar檔案中的內容(檔名以.tgz結尾,gzip壓縮的檔案,可以用tar -zxvf解壓縮)