命令简介

unzip 命令是 Linux 系统中用于解压缩 ZIP 格式压缩文件的工具。它不仅可以解压缩整个 ZIP 文件,还可以选择性地解压缩其中的特定文件或目录。

命令格式

1
unzip [选项] 压缩文件

其中:

  • 压缩文件:指定要解压缩的 ZIP 文件。

参数用明

参数 说明 备注
-l 列出压缩文件中的内容 不解压缩
-v 显示详细的过程信息 用于调试
-n 不覆盖已存在的文件 避免覆盖现有文件
-o 覆盖已存在的文件 强制覆盖
-j 不创建目录条目 将所有文件解压到当前目录
-x 排除指定文件或目录 不解压缩指定的文件或目录
-d 指定解压缩的目标目录 默认解压到当前目录
-p 解压缩文件时保留原始的文件权限 -
-q 安静模式,不显示过程信息 -
-t 测试压缩文件的完整性 不解压缩
-z 仅解压缩已压缩的文件 不处理已存储的文件

命令实例

基本用法

1.解压缩整个 ZIP 文件

1
2
3
4
5
# 解压缩整个 ZIP 文件到当前目录
unzip archive.zip

# 解压缩整个 ZIP 文件到指定目录
unzip archive.zip -d /path/to/directory/

2.选择性解压缩

1
2
3
4
5
6
7
8
# 解压缩指定文件
unzip archive.zip file1.txt file2.txt

# 排除指定文件或目录
unzip archive.zip -x dir1/ file3.txt

# 仅解压缩已压缩的文件,不处理已存储的文件
unzip -z archive.zip

3.查看压缩文件内容

1
2
3
4
5
# 列出压缩文件中的内容
unzip -l archive.zip

# 测试压缩文件的完整性
unzip -t archive.zip
  1. 解压缩加密的 ZIP 文件
1
2
3
4
5
6
7
# 解压缩加密的 ZIP 文件
unzip secret.zip

# 输入密码
Archive: secret.zip
skipping: file1.txt need PK compat. v6.2, have 6.1, OK?
...

扩展用法

1.保留文件权限和时间戳

使用 -p 选项可以在解压缩时保留原始文件的权限和时间戳信息。

1
unzip -p archive.zip

2.解压缩unicode编码的文件名

对于包含非 ASCII 字符的文件名,可以使用 -O 选项来正确解码。

1
unzip -O cp936 chinese.zip

高级用法

1.解压缩分卷压缩文件

如果 ZIP 文件被分卷压缩,可以使用 -U 选项来解压缩所有分卷文件。

1
unzip -U archive.zip

2.修复损坏的 ZIP 文件

对于损坏的 ZIP 文件,可以使用 -F 选项尝试修复并解压缩。

1
unzip -F damaged.zip

通过以上实例和扩展用法,相信你已经对 unzip 命令有了更深入的了解。它不仅可以方便地解压缩 ZIP 文件,还提供了诸如保留权限、解压缩unicode编码文件、修复损坏文件等高级功能。如果你还有任何疑问或需要进一步探讨,欢迎随时向我提出。