6.5 zip压缩工具
6.6 tar打包
6.7 打包并压缩
一、zip压缩工具
之前介绍的几个压缩工具都不支持目录压缩,zip可以支持目录压缩。
zip压缩时不会删除源文件
系统默认是没有zip压缩工具的,使用的话需要进行安装:yum -y install zip
解压也需要进行安装:yum -y install unzip
示例1:压缩文件
[root@wxy01 zip]# zip 1.zip 1.txt
adding: 1.txt (deflated 1%)
[root@wxy01 zip]# ll
total 200
-rw-r--r-- 1 root root 102395 Oct 8 10:41 1.txt
-rw-r--r-- 1 root root 101042 Oct 9 17:18 1.zip
示例2:压缩目录,wxy目录下有3个txt文件,使用zip进行压缩
[root@wxy01 zip]# tree wxy
wxy
├── 1.txt
├── 2.txt
└── 3.txt
0 directories, 3 files
[root@wxy01 zip]# zip -r wxy.zip wxy/
adding: wxy/ (stored 0%)
adding: wxy/3.txt (deflated 1%)
adding: wxy/2.txt (deflated 1%)
adding: wxy/1.txt (deflated 1%)
[root@wxy01 zip]# ll
total 404
-rw-r--r-- 1 root root 101042 Oct 9 17:18 1.zip
drwxr-xr-x 2 root root 4096 Oct 9 17:21 wxy
-rw-r--r-- 1 root root 303242 Oct 9 17:21 wxy.zip
示例3:解压
由于zip压缩并不会删除源文件,所以在解压的时候会提示是否覆盖,或者重名操作
[root@wxy01 zip]# unzip wxy.zip
Archive: wxy.zip
replace wxy/3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:
示例4:指定目录解压
zip解压的时候,并不能重新命名文件名称只能指定目录
[root@wxy01 zip]# unzip wxy.zip -d wxy2/
Archive: wxy.zip
creating: wxy2/wxy/
inflating: wxy2/wxy/3.txt
inflating: wxy2/wxy/2.txt
inflating: wxy2/wxy/1.txt
示例5:查看zip压缩文件目录
zip压缩不能查看压缩文件内容,但是可以吃压缩文件目录
[root@wxy01 zip]# unzip -l wxy.zip
Archive: wxy.zip
Length Date Time Name
--------- ---------- ----- ----
0 10-09-2018 17:21 wxy/
102395 10-09-2018 17:19 wxy/3.txt
102395 10-09-2018 17:19 wxy/2.txt
102395 10-08-2018 10:41 wxy/1.txt
--------- -------
307185 4 files
二、tar打包
tar用于文件打包,可以把目录打包成一个文件,类似于zip。
打包的好处:传输节约带宽和时间
不用重复操作
tar用法详解:tar -参数 压缩文件名 源
常用参数:
-c:打包
-v:可视化
-f:后面跟文件名
-x:解包
-t: 查看tar包内容
示例1:打包
tar打包如果有重复的不会像zip一样提示而是直接覆盖,
[root@wxy01 zip]# tar -cvf wxy.tar wxy
wxy/
wxy/3.txt
wxy/2.txt
wxy/1.txt
[root@wxy01 zip]#
示例2:解包
tar解包时如有重复的也不会提示,会直接覆盖。
[root@wxy01 zip]# tar -xvf wxy.tar
wxy/
wxy/3.txt
wxy/2.txt
wxy/1.txt
示例3:查看tar文件内容
[root@wxy01 zip]# tar -tf wxy.tar
wxy/
wxy/3.txt
wxy/2.txt
wxy/1.txt
示例4:过滤调掉不想进行打包的文件
[root@wxy01 zip]# tar -cvf wxy2.tar --exclude 1.txt wxy
wxy/
wxy/3.txt
wxy/2.txt
[root@wxy01 zip]# tar -tf wxy2.tar
wxy/
wxy/3.txt
wxy/2.txt
[root@wxy01 zip]#
--exclude 必须在打包名后面,参数后面写需要过滤的文件,如上面不想打包1.txt文件就在后面跟1.txt即可。也可以跟多个文件名如:
tar -cvf wxy2.tar --exclude 1.txt 2.txt wxy
也支持:*.txt这种方式。
三、打包并压缩
tar在打包的时候可以支持压缩的,之前介绍的gzip/bzip2压缩方式都支持的
示例1:打包、并以gzip方式压缩,名称后缀需要改为 .tar.gz
tar -czvf wxy.tar.gz wxy
示例2:打包、并以bzip2方式压缩,名称后缀改为:.tar.bz2
tar -cjvf wxy.tar.bz2 wxy
示例3:打包、并以xz方式压缩,名称后缀改为:.tar.xz
tar -cJvf wxy.tar.xz wxy
以上解包解压和tar解包相同,把参数c改为x即可。如:tar -xzvf xxx