二十、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命令
若沒有該命令,用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打包、打包並壓縮