一、简介
unzip 命令用于解压缩.zip格式的压缩文件,该命令能够解压缩包含多个文件和目录的 .zip 文件,并且广泛用于处理跨平台压缩文件。
二、语法
语法:unzip [options] file.zip
file.zip:要解压缩的 .zip 文件。
参数说明:
-a:对文本进行必要的字符转换。
-L:将压缩包内文件名改为小写。
-b:不要对文本进行任何字符转换。
-n:解压缩时不覆盖已有文件。
-c:适当转换字符后输出解压缩结果。
-P:使用密码加密。
-C:严格区分大小写。
-q:静默执行模式。
-d:解压缩文件到指定目录中。
-t:检查压缩包完整性,但不解压。
-f:强制覆盖已有文件。
-v:显示执行过程详细信息,包括 .zip 文件的结构和压缩率等信息。
-j:解压时不保留目录结构,将所有文件解压到当前目录中。
-x:跳过压缩包内的指定文件。
-l:显示压缩包内文件列表。
-z:显示压缩包内的备注文字。
-l:列出.zip文件中的内容,但不解压。
-o:解压时覆盖已存在的文件,而不提示。
三、实战
1、解压.zip文件
[]Archive: 1.zip
inflating: 1.txt
inflating: 3.txt
2、解压到指定目录
[root abc]# unzip 1.zip -d /app/abc/bcdArchive: 1.zip
inflating: /app/abc/bcd/1.txt
inflating: /app/abc/bcd/3.txt
3、列出.zip文件中的内容
[root@app01 abc]# unzip -l 1.zipArchive: 1.zip
Length Date Time Name--------- ---------- ----- ----
105 08-10-2025 09:07 1.txt
39 08-10-2025 08:56 3.txt
41 08-10-2025 09:31 aa.log---------
-------
185 3 files
4、测试.zip文件的完整性
[root@app01 abc]# unzip -t 1.zipArchive: 1.zip
testing: 1.txt OK
testing: 3.txt OKNo errors detected in compressed data of 1.zip.
5、解压时排除指定文件不解压
[]Archive: 1.zipinflating: 1.txt
inflating: 3.txt
6、解压时不覆盖已存在的文件
[]Archive: 1.zip
7、解压时覆盖已存在的文件
[]Archive: 1.zip
inflating: 1.txt
inflating: 3.txt
inflating: aa.log
8、解压时不保留目录结构
[root@app01 abc]# unzip -j dir.zipArchive: dir.zip
inflating: 1.txt
inflating: 3.txt
此命令会解压.zip中的所有文件到当前目录,而不会保留原始的目录结构。
注:
unzip 默认解压文件时会保留原始的目录结构。如果不需要保留目录结构,可以使用 -j 参数。
unzip 可以通过 -x 参数排除某些文件或目录,这对于有选择性地解压缩特定文件很有用。