天天看點

CentOS指令學習之tar打包與解壓

tar指令一般是做打包和解壓使用,有關tar指令的使用。我們可以通過幫助文檔進行檢視,如下:

tar –help

man tar

CentOS指令學習之tar打包與解壓
CentOS指令學習之tar打包與解壓

tar有幾個比較重要的參數如下:

-c 建立一個新歸檔

-f 當與-c選項一起使用時,建立的tar檔案使用該選項的指定的檔案名;當與-x選項一起使用時,則解包該選項指定的歸檔。<b>該參數一定放在所有參數的最後面</b>。

-t 顯示tar檔案中的檔案清單

-v 顯示歸檔或解檔的進度

-z 使用gzip來壓縮tar檔案

-j 使用bzip2來壓縮tar檔案

-x 解壓tar壓縮包,

-c 解壓到新的目錄,該指令是大寫。

-p 保留備份資料的原本權限和屬性

<b>以上指令需要特别注意-c、-t、-x不能在一個指令中同時出現</b>。

現在我們先來講解tar打包的使用方法。注意在此我們全部以gzip格式的檔案為例,如果是bzip檔案把參數-z修改為-j即可。

将ilanni目錄進行打包,打包後的檔案為ilanni.tar.gz,并将打包後存放到/testtar目錄下:

tar -cvzf /testtar/ilanni.tar.gz ilanni

或者

tar -czf /testtar/ilanni.tar.gz ilanni

其中參數-v是可有可無。

CentOS指令學習之tar打包與解壓
CentOS指令學習之tar打包與解壓

通過上述兩張圖檔我們可以看出,已經打包成功。剛剛是把本地的檔案打包到其他目錄,如果把a目錄下的檔案打包到b目錄如下:

tar -czf /testtar/tar.tar.gz /tar

CentOS指令學習之tar打包與解壓

該條指令的作用是把/tar目錄進行打包,打包完成後以tar.tar.gz命名檔案存放到/testtar目錄下。

以上都是在同一台伺服器上進行的,如果我想把本地的檔案打包後,上傳到另外一台伺服器上。操作如下:

ssh [email protected] tar -czf /ks/tar.tar.gz /tar/

該條指令的意思是把/tar目錄打包到192.168.1.102伺服器的/ks目錄下。

CentOS指令學習之tar打包與解壓
CentOS指令學習之tar打包與解壓

通過上述兩張截圖,我們可以看到已經成功的把/tar打包到192.168.1.102伺服器的/ks目錄下。

上面是對目錄進行打包,如果是對單獨的檔案進行打包也很簡單。我們來測試下,如果兩個檔案在不同的目錄,打包到一個壓縮包中。如下

tar -zvcf test.tar.gz ./tftp.txt ./ilanni/iso.txt

tar -tvf test.tar.gz

CentOS指令學習之tar打包與解壓

通過上面這張截圖,我們可以很清楚的看出。我們現在已經把目前目錄下的tftp.txt檔案和該目錄下的ilanni目錄下的iso.txt檔案打包到同一個壓縮包中。

以上是有關tar打包的相關使用方法。下面我們來介紹使用tar解壓壓縮包的方法。按照網絡上的說法對于不同的壓縮包比如gzip壓縮包和bzip2壓縮包,我們再解壓時,要使用不同的指令。

對于gzip壓縮包,使用tar –zxf ilanni.tar.gz解壓。對于bzip壓縮包,使用tar –jxf ks.bz2解壓。

其實根本沒有那個必要,隻要是tar壓縮包,我們直接使用tar –xf進行解壓即可。如下:

tar -xf ilanni.tar.gz

tar -xf ks.bz2

CentOS指令學習之tar打包與解壓

通過上圖,我們可以看到隻要是tar壓縮包的解壓我們就可以直接使用tar -xf進行解壓。

以上我們是把壓縮包解壓到同一目錄下,下面我們來測試下把壓縮包解壓到另外一個目錄。如下:

tar -xf ilanni.tar.gz -c /testtar/

該條指令的意思是把目前目錄下ilanni.tar.gz解壓到/testtar/目錄下。

CentOS指令學習之tar打包與解壓

通過上圖,我們可以看到ilanni.tar.gz已經成功的解壓到/testtar/目錄下。

以上我們解壓的是整個目錄,假如說這個壓縮包是一個檔案夾的話,而裡面又有很多的檔案,我們現在隻想把其中的一個檔案解壓出來。操作如下:

先檢視該壓縮包的目錄結構,使用如下指令:

tar -tvf ilanni.tar.gz

CentOS指令學習之tar打包與解壓

注意圖中黃色部分标記出來的<b>ilanni/tftp.txt</b>,我們現在就是要把tftp.txt解壓出來,其他的檔案不進行解壓。而且這個路徑也要記錄下,等會解壓要使用到。

現在開始解壓,使用如下指令:

tar -xf ilanni.tar.gz ilanni/tftp.txt

CentOS指令學習之tar打包與解壓

可以看到現在已經把tftp.txt檔案解壓出來了。

如果多個檔案,但又不是全部解壓。可以使用類型的指令。如下:

tar -xf ilanni.tar.gz ilanni/{tftp.txt,iso.txt}

CentOS指令學習之tar打包與解壓

通過上圖可以看到,我們現在已經隻把tftp.txt和iso.txt。兩個檔案解壓出來了。

到此有關tar的基本使用介紹結束。

繼續閱讀