linux的zip、tar压缩打包工具介绍

时间:2022-11-30 18:36:20

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                //查看压缩大小
332K2.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
664Kaming.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]# ls1.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.zipinflating: 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.zipArchive:  aming.zipLength      Date    Time    Name---------  ---------- -----   ----1286145  11-08-2017 19:51   3.txt0  11-08-2017 20:51   aminglinux/0  11-08-2017 20:46   aminglinux/1.txt0  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]# ls1.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.txtaminglinux/1.txt[root@aminglinux-01 d6z]# tar -cf aminglinux.tar aminglinux/     //不加v就显示打包过程,重新打包同一个文件,直接覆盖之前打包的文件,不提示。[root@aminglinux-01 d6z]# ls1.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.txtaminglinux/1.txt[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar aminglinux 3.txt 4.txt  //一起打包目录加文件aminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# tar -tf aminglinux.tar  //查看文件列表aminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar --exclude 2 aminglinux 3.txt 4.txtaminglinux/aminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# tar -cvf aminglinux.tar --exclude 2 --exclude 1.txt aminglinux 3.txt 4.txtaminglinux/3.txt4.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.txtaminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# du -sh aminglinux.tar.gz992Kaminglinux.tar.gz[root@aminglinux-01 d6z]# tar -cjvf aminglinux.tar.bz2 aminglinux 3.txt 4.txtaminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# du -sh aminglinux.tar.bz2392Kaminglinux.tar.bz2[root@aminglinux-01 d6z]# tar -cJvf aminglinux.tar.xz aminglinux 3.txt 4.txtaminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# du -sh aminglinux.tar.xz60Kaminglinux.tar.xz[root@aminglinux-01 d6z]# ls1.txt.bz2  2.txt.zip  4.txt       aminglinux.tar      aminglinux.tar.gz  aming.zip2.txt      3.txt      aminglinux  aminglinux.tar.bz2  aminglinux.tar.xz  test[root@aminglinux-01 d6z]# tar -tf aminglinux.tar.gzaminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# tar -tf aminglinux.tar.xzaminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt[root@aminglinux-01 d6z]# tar -tf aminglinux.tar.bz2aminglinux/aminglinux/2/aminglinux/2/4.txtaminglinux/1.txt3.txt4.txt

知识点:zip有一个特点,压缩文件后,原来文件不删除,而gzip、bzip2、xz这三种压缩后是删除原先文件的。


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