zip/unzip
zip简介
zip文件格式是一种数据压缩和文档储存的文件格式,ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。zip格式文件是Windows和Linux系统都通用的压缩文件类型。当前,ZIP格式属于几种主流的压缩格式之一,因此如果在网络上传播和分发文件,zip格式往往是最常用的选择。
zip命令
zip命令将一般的文件或者目录进行压缩或者解压,默认生成以zip为后缀名的压缩包
zip用于压缩文件,而unzip用于解压缩文件。
安装
Linux如果没有该命令,则请使用一下命令安装
yum install -y zip
语法
其基本语法如下所示:
zip [选项] [指定文件名] [压缩文件或路径]
zip常用参数如下所示:-c
, --entry-comments
给压缩文件添加注释-d
, --delete
从压缩包删除指定文件-D
压缩包不创建目录名称-f
,--freshen
与参数 -u 类似,不仅更新已有文件,而且也添加压缩包没有的文件-i files
, --include files
仅向压缩包添加指定的文件-m
, --move
将原始文件添加到压缩包删除原文件-q
, --quiet
静默模式-r
, --recurse-paths
递归处理指定目录和子目录-T
, --test
检查压缩包的完整性-u
, --update
将较新的文件更新替换到压缩包中-v
, --verbose
显示详细过程-x files
,--exclude files
压缩文件时添加排除项-# (-0~-9)
设置压缩级别,-0:不压缩文件,-1:最快压缩速度,-9:最好压缩强度,默认为-6
实例
压缩文件
[root@localhost ~]# zip /root/test.zip /root/test.txt
adding: root/test.txt (stored 0%)
压缩文件,并设置密码
[root@localhost ~]# zip -e /root/test.zip /root/test.txt
Enter password: #输入压缩密码
Verify password: #再次输入压缩密码
adding: root/test.txt (stored 0%)
检查压缩文件的完整性
[root@localhost ~]# zip -T test.zip
test of test.zip OK
压缩文件并添加注释
[root@localhost ~]# zip -c /root/test.zip /root/test.txt
adding: root/test.txt (stored 0%)
Enter comment for root/test.txt:
zip file #在这里添加注释
向已压缩文件中添加文件
[root@localhost ~]# zip -u /root/test.zip /root/test2.txt
adding: root/test2.txt (stored 0%)
压缩目录
#压缩/root/dir目录
[root@localhost ~]# zip -r /root/dir.zip /root/dir
adding: root/dir/ (stored 0%)
压缩目录并排除指定文件
#压缩/root/dir目录,但是排除/root/dir/test.txt文件
[root@localhost ~]# zip -r /root/dir.zip /root/dir -x /root/dir/test.txt
adding: root/dir/ (stored 0%)
adding: root/dir/test1.txt (stored 0%)
adding: root/dir/test2.txt (stored 0%)
unzip命令
使用unzip命令可以查看和解压zip文件
语法
其基本语法如下所示:
uzip [选项] [压缩包名称]
unzip常用参数
选项 说明
-
-l
显示压缩包中的内容 -
-t
检查压缩包的完整性 -
-o
强制覆盖已存在的文件而不提示 -
-j
不处理压缩文件中的原有目录路径 -
-d exdir
指定解压目录
实例
解压压缩包到当前文件夹
[root@localhost ~]# unzip /root/test.zip
Archive: test.zip
解压压缩包到指定目录
[root@localhost ~]# unzip /root/test.zip -d /root/test
Archive: /root/test.zip
extracting: /root/test/root/test.txt
检查压缩包完整性
[root@localhost testfile]# unzip -t testfile.zip
Archive: testfile.zip
testing: testfile/ OK
testing: testfile/install-sh OK
...
testing: testfile/pybuilddir.txt OK
No errors detected in compressed data of testfile.zip.
查看压缩文件,但不解压文件
[root@localhost ~]# unzip -v dir.zip
Archive: dir.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0% 11-22-2019 20:42 00000000 root/dir/
0 Stored 0 0% 11-22-2019 20:42 00000000 root/dir/test1.txt
0 Stored 0 0% 11-22-2019 20:42 00000000 root/dir/test2.txt
-------- ------- --- -------
0 0 0% 3 files
显示压缩包内容
[root@localhost testfile]# unzip -l testfile.zip
Archive: testfile.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-20-2018 12:50 testfile/
7122 06-27-2018 11:07 testfile/install-sh
101855 06-27-2018 11:07 testfile/setup.py
0 07-20-2018 12:37 testfile/.vsts/
13965984 07-20-2018 12:50 testfile/python
26 07-20-2018 12:50 testfile/pybuilddir.txt
--------- -------
186791269 4771 files
删除压缩包中指定的文件
[root@localhost testfile]# zip testfile.zip -d testfile/*.o
deleting: testfile/Modules/config.o
deleting: testfile/Modules/getpath.o
deleting: testfile/Modules/main.o