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这三种压缩后是删除原先文件的。