1. 程式人生 > >linux的zip、tar壓縮打包工具介紹

linux的zip、tar壓縮打包工具介紹

linux zip tar

zip壓縮工具:


1、安裝zip命令工具 yum install -y zip

2、zip壓縮工具既可以壓縮文件也可以壓縮目錄,而且壓縮的時候不會源文件刪除,示例如下:

[root@aminglinux-01 d6z]# ls                 //查看目錄下的文件
1.txt.bz2  2.txt  3.txt  4.txt  aminglinux
[root@aminglinux-01 d6z]# zip 2.txt.zip 2.txt         //使用zip壓縮2.txt
adding: 2.txt (deflated 74%)
[root@aminglinux-01 d6z]# ls                              //查看壓縮完成
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux
[root@aminglinux-01 d6z]# du -sh 2.txt.zip                //查看壓縮大小
332K	2.txt.zip
[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux
[root@aminglinux-01 d6z]# zip -r aming.zip 3.txt aminglinux      //zip -r同時壓縮文本及目錄
adding: 3.txt (deflated 74%)
adding: aminglinux/ (stored 0%)
adding: aminglinux/1.txt (stored 0%)
adding: aminglinux/2/ (stored 0%)
adding: aminglinux/2/4.txt (deflated 74%)
[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux  aming.zip
[root@aminglinux-01 d6z]# du -sh aming.zip
664K	aming.zip
[root@aminglinux-01 d6z]# unzip
-bash: unzip: 未找到命令
[root@aminglinux-01 d6z]# yum install -y unzip              //安裝解壓縮命令unzip
[root@aminglinux-01 d6z]# unzip aming.zip                 //解壓縮
Archive:  aming.zip
replace 3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: n                  //因為壓縮的時候並沒有把源文件刪除掉,在解壓縮的時候就會訪問你是否需要覆蓋.
replace aminglinux/1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: aminglinux/1.txt
replace aminglinux/2/4.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: a
error:  invalid response [a]
replace aminglinux/2/4.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A    //大A是解壓全部
inflating: aminglinux/2/4.txt

舉例:使用unzip壓縮到指定目錄下

[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux  aming.zip
[root@aminglinux-01 d6z]# mkdir test                    //創建一個新的目錄
[root@aminglinux-01 d6z]# unzip 2.txt.zip -d test/                     //壓縮到test目錄下
Archive:  2.txt.zip
inflating: test/2.txt
[root@aminglinux-01 d6z]# unzip 2.txt.zip -d test/aa.txt        //指定壓縮文件名報錯
Archive:  2.txt.zip
 inflating: test/aa.txt/2.txt          //說明,壓縮前的文件名是什麽就是什麽,不能更改.

下列中,zip的壓縮包無法直接查看內容,只能查看壓縮包的文件列表.示例如下:

[root@aminglinux-01 d6z]# unzip -l aming.zip
Archive:  aming.zip
Length      Date    Time    Name
---------  ---------- -----   ----
1286145  11-08-2017 19:51   3.txt
0  11-08-2017 20:51   aminglinux/
0  11-08-2017 20:46   aminglinux/1.txt
0  11-08-2017 20:51   aminglinux/2/
1286145  11-08-2017 20:51   aminglinux/2/4.txt
---------                     -------
2572290                     5 files


tar打包工具:


命令用法:

1、tar -cvf aminglinux.tar aminglinux/ //創建打包文件

2、 tar -cvf aminglinux.tar aminglinux 3.txt 4.txt //創建打包目錄加文件

3、tar -xvf aminglinux.tar //解包

4、tar -tf aminglinux.tar //查看一個壓縮包的目錄列表

5、tar -cvf aminglinux.tar --exclude 2 aminglinux 3.txt 4.txt //過濾指定的目錄或文件,支持通配


實驗操作如下:

[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux  aming.zip  test
[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar aminglinux/     //使用tar -cvf這個命令打包
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
[root@aminglinux-01 d6z]# tar -cf aminglinux.tar aminglinux/     //不加v就顯示打包過程,重新打包同一個文件,直接覆蓋之前打包的文件,不提示。
[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux  aminglinux.tar  aming.zip  test
[root@aminglinux-01 d6z]# tar -xvf aminglinux.tar            //解包,也是覆蓋之前的文件,不提示。
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar aminglinux 3.txt 4.txt  //一起打包目錄加文件
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# tar -tf aminglinux.tar  //查看文件列表
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar --exclude 2 aminglinux 3.txt 4.txt
aminglinux/
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar --exclude 2 --exclude 1.txt aminglinux 3.txt 4.txt
aminglinux/
3.txt
4.txt


tar打包並壓縮:


  1. tar -czvf aminglinux.tar.gz aminglinux 3.txt 4.txt //gz打包並壓縮

  2. tar -xzvf aminglinux.tar.gz aminglinux 3.txt 4.txt //gz解包並解壓縮

  3. tar -cjvf aminglinux.tar.bz2 aminglinux 3.txt 4.txt //bz2打包並壓縮

  4. tar -xjvf aminglinux.tar.bz2 aminglinux 3.txt 4.txt //bz2解包並解壓縮

  5. tar -cJvf aminglinux.tar.xz aminglinux 3.txt 4.txt //xz2打包並壓縮

  6. tar -xJvf aminglinux.tar.xz aminglinux 3.txt 4.tx //xz2解包並解壓縮

  7. tar -tf aminglinux.tar.gz //gz查看一個壓縮包的文件列表

  8. tar -tf aminglinux.tar.xz //xz查看一個壓縮包的文件列表

  9. tar -tf aminglinux.tar.bz2 //bz2查看一個壓縮包的文件列表


實驗操作如下:

[root@aminglinux-01 d6z]# tar -czvf aminglinux.tar.gz aminglinux 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# du -sh aminglinux.tar.gz
992K	aminglinux.tar.gz
[root@aminglinux-01 d6z]# tar -cjvf aminglinux.tar.bz2 aminglinux 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# du -sh aminglinux.tar.bz2
392K	aminglinux.tar.bz2
[root@aminglinux-01 d6z]# tar -cJvf aminglinux.tar.xz aminglinux 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# du -sh aminglinux.tar.xz
60K	aminglinux.tar.xz
[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt.zip  4.txt       aminglinux.tar      aminglinux.tar.gz  aming.zip
2.txt      3.txt      aminglinux  aminglinux.tar.bz2  aminglinux.tar.xz  test
[root@aminglinux-01 d6z]# tar -tf aminglinux.tar.gz
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# tar -tf aminglinux.tar.xz
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt
[root@aminglinux-01 d6z]# tar -tf aminglinux.tar.bz2
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/1.txt
3.txt
4.txt

知識點:zip有一個特點,壓縮文件後,原來文件不刪除,而gzip、bzip2、xz這三種壓縮後是刪除原先文件的。


本文出自 “Gary博客” 博客,請務必保留此出處http://taoxie.blog.51cto.com/10245493/1980763

linux的zip、tar壓縮打包工具介紹