zip文件格式是一种数据压缩和文档储存的文件格式,ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。zip格式文件是Windows和Linux系统都通用的压缩文件类型。当前,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命令可以查看和解压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