天天看點

Linux的檔案壓縮——tar和zip指令

今天因為準備遠端壓縮個檔案,結果用tar指令失敗了好幾次。看來指令還是常用才熟悉啊。

在linux下是不需要字尾名的,但通常tar歸檔字尾名為.tar,gzip壓縮後的字尾名為.gz,bzip2壓縮後的字尾名為.bz2。

指令用法:

tar [參數]  [檔案或目錄]

<code>1</code>

<code>#比如把x檔案夾打包并用gzip壓縮。</code>

<code>2</code>

<code>tar -zcvf x.tar.gz x</code>

<code>3</code>

<code>4</code>

<code>#解壓到目前目錄</code>

<code>5</code>

<code>tar -xzvf x.tar.gz</code>

<code>6</code>

<code>#解壓到父目錄</code>

<code>7</code>

<code>tar -xzvf x.tar.gz -c ..</code>

打包和解包指令基本一樣,可看作是個逆過程,參數中是-c和-x的差別。解包時可以不需要指定目錄,預設解壓到目前目錄。如需指定目錄須使用-c參數。請對照上面樣例。

無論打包還是解包-f後都必須跟歸檔名。

<code>#這樣語句也能正确執行,注意-f</code>

<code>tar -cv x -f x.tar</code>

指定歸檔

-f  後面必須直接跟歸檔名

打包(create)

-c

解包

-x

詳細地列出處理的檔案

-v

檢視打包的檔案

-t

壓縮

-z 調用gzip壓縮   -j調用bzip2壓縮

時間限制參數

-n 比後面接的日期(yyyy/mm/dd)還要新的才會被打包進建立的檔案中

排除指定檔案

–exclude file:不将 file 打包!

保留原本檔案的屬性

-p

這些參數中 c/x/t 僅能存在一個!不可同時存在!

指令用法:

zip  [參數名] [壓縮包名] [被打包的檔案]

unzip [壓縮包名]

<code>#壓縮,如果不加.zip字尾,會自動添加。</code>

<code>zip a.zip a.o</code>

<code>#解壓</code>

<code>unzip a.zip</code>

zip

遞歸壓縮

-r遞歸搜尋目錄下的所有檔案夾目錄,預設不會把目錄下的檔案壓縮進去。

靜默壓縮

-q

添加注釋

-z

壓縮效率

–數字介于0-9的數值,數值越小效率越低,但越快。0就是不壓縮

設定壓縮日期

嘗試修複壓縮包

-f

壓縮成自解壓檔案

-a

unzip

檢視壓縮包,不解壓

-l 列出檔案   -v 列出檔案詳細資訊

解壓到指定的目錄

-d

是否覆寫以存在的檔案

-n 不覆寫  -o 覆寫

檢查壓縮包是否損壞

-t  不解壓

檢視壓縮包注釋

不重建文檔的目錄結構

-j  把所有檔案解壓到同一目錄下

(未完待續)

繼續閱讀