1. 程式人生 > >二十、zip壓縮工具、tar打包、打包並壓縮

二十、zip壓縮工具、tar打包、打包並壓縮

zip壓縮工具 tar打包 打包並壓縮

二十、zip壓縮工具、tar打包、打包並壓縮

一、zip壓縮工具

在Windows和Linux中都常用。可以壓縮目錄和文件,壓縮目錄時,需要指定目錄下的文件。壓縮後源文件不刪除。示例:

# zip 1.txt.zip 1.txt (壓縮文件,先目標文件名,再源文件名)

adding: 1.txt (deflated 64%)

壓縮目錄時需要加上-r選項,如下:

# zip -r 1.txt.zip 1/

adding: 1/ (stored 0%)

adding: 1/11/ (stored 0%)

adding: 1/11/111/ (stored 0%)

adding: 1/1.txt (stored 0%)

unzip命令

:解壓.zip格式的文件。

若沒有該命令,用yum工具安裝。

示例:

# unzip 3.txt.zip

Archive: 3.txt.zip

replace 1/1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y (因為原來的文件還在,詢問是否覆蓋)

extracting: 1/1.txt

-d:解壓時指定路徑。不可指定文件名,加了文件名的話會生成一個以設定的文件名為名字的目錄,再將解壓的文件放在該目錄下。

# unzip 1.txt.zip -d md2/

Archive: 1.txt.zip

inflating: md2/1.txt

creating: md2/1/

extracting: md2/1/1.txt

zip工具沒有zcat那類的cat工具,唯一能用unzip -l+壓縮文件名,查看壓縮包內的文件列表。

二、tar打包

tar本身就是一個打包工具,可以把目錄打包成文件,把所有文件整合成一個大文件,方便復制或移動。打包後原文件不刪除

格式:tar [-zjxcvfpP] filename tar

-z:同時用gzip壓縮。

-j:同時用bzip2壓縮。

-J:同時用xz壓縮。

-x:解包或解壓縮。

-t:查看tar包裏的文件。

-c:建立一個tar包或者壓縮文件包。

-v:顯示操作過程。

-f:後跟文件名,表示壓縮後的文件名為filename,或者解壓文件filename。

多個參數組合的情況下,把-f寫到最後面。

-p:使用原文件的屬性。不常用。

-P:可使用絕對路徑。不常用。

--exclude filename:在打包或壓縮時,不要將filename文件包括在內。排除文件或目錄,不常用。

-f參數後先跟目標文件名,再跟需打包的文件或目錄。

示例:

# tar -cf test.tar test(建立tar包,文件名,再建立一個同樣的會覆蓋之前的)

# tar -xvf test.tar test(解壓,顯示操作過程,文件名,會覆蓋前面的文件,不會詢問是否覆蓋)

test/

test/abc/

test/abc/AC/

test/12.txt

# tar -tf test.tar (查看tar包內的文件)

test/

test/abc/

test/abc/AC/

test/12.txt

--exclude用法:可使用“*.txt”等。

# mkdir test111/test222

# tar -cvf test111.tar --exclude test222 test111

test111/

test111/1.txt

這樣就不會將test222目錄打包進來。

三、打包並壓縮

tar可在打包時直接壓縮,支持gzip壓縮、bzip2壓縮和xz壓縮。

使用-z選項可壓縮成gzip格式的文件,示例:

# tar -czvf test123.tar.gz test

test/

test/abc/

test/abc/AC/

test/12.txt

test/test123.tar.gz

test/test12.tar.gz

# tar -xvzf test123.tar.gz (可用-zx選項,解壓.tar.gz格式的壓縮包)

-j和-J是同樣的用法。


二十、zip壓縮工具、tar打包、打包並壓縮