Linux zip/unzip命令详解:文件压缩解压参数速查表

AI 概述
本文详解 Linux/Unix 系统中 zip 和 unzip 命令的用法。作为跨平台压缩工具,它们支持创建/更新、查看及解压 ZIP 文件。核心功能包括递归压缩、分卷压缩、密码保护、调整压缩级别(0-9)及排除特定文件。文中还介绍了如何查看压缩包内容、测试完整性、选择性解压及静默操作。此外,提供了实用组合技巧与故障排查指南(如 CRC 错误、分卷缺失),并提醒跨平台传输、加密和备份时的注意事项,是高效管理压缩文件的实用参考。
目录
文章目录隐藏
  1. 1. 基本语法
  2. 2. 创建 ZIP 压缩包
  3. 3. 更新现有压缩包
  4. 4. 查看与检查
  5. 5. 解压文件
  6. 6. 密码保护的压缩包
  7. 7. 分卷压缩
  8. 8. 实用组合模式
  9. 9. 常用选项速查
  10. 10. 故障排查

Linux zip/unzip 命令详解:文件压缩解压参数速查表

zipunzip是 Linux/Unix 系统中处理 ZIP 格式压缩文件的标准工具。ZIP 是一种跨平台的压缩格式,在 Windows、macOS 和 Linux 系统间广泛使用,这使得 zip/unzip 成为文件交换和备份的理想选择。

zip 命令用于创建和更新 ZIP 压缩包,支持多种压缩级别、密码保护、分卷压缩等功能。unzip 命令则用于解压 ZIP 文件,可以查看压缩包内容、选择性提取文件、测试压缩包完整性。作为系统管理员和普通用户的常用工具,掌握 zip/unzip 能让你在不同操作系统间轻松传递和归档文件。

1. 基本语法

命令 说明
zip [options] archive.zip files 创建或更新 ZIP 压缩包
unzip [options] archive.zip 解压 ZIP 压缩包
zip -r archive.zip directory/ 递归压缩整个目录
unzip archive.zip -d /target/path/ 解压到指定目录
unzip -t archive.zip 测试压缩包完整性

2. 创建 ZIP 压缩包

命令 说明
zip archive.zip file1.txt file2.txt 压缩多个文件
zip -r project.zip project/ 递归压缩目录
zip -j flat.zip /path/to/file.txt 压缩时不包含目录路径(扁平化)
zip -9 -r maxcompress.zip /etc/ 使用最大压缩级别(最慢,体积最小)
zip -0 -r faststore.zip media/ 不压缩仅存储(最快)
zip -r logs.zip /var/log -x "*.gz" 排除匹配的文件
zip -q -r silent.zip directory/ 静默模式(不输出信息)
zip -r backup.zip . -x "*.tmp" -x "*.log" 排除多个文件类型
zip -m move.zip file.txt 压缩后删除原文件

3. 更新现有压缩包

命令 说明
zip archive.zip newfile.txt 向现有压缩包添加文件
zip -r archive.zip newdir/ 向现有压缩包添加目录
zip -u archive.zip file.txt 仅更新已更改的文件
zip -d archive.zip "*.tmp" 删除压缩包中的临时文件
zip -FS archive.zip 同步压缩包与文件系统状态
zip -f archive.zip 整理压缩包(优化结构)

4. 查看与检查

<td”>unzip -t archive.zip

命令 说明
unzip -l archive.zip 列出压缩包中的文件
unzip -Z -v archive.zip 详细列出(大小、压缩率、方法)
zipinfo archive.zip 显示压缩包元信息
zipinfo -1 archive.zip 仅列出文件名(每行一个)
测试压缩包完整性
zipinfo -h archive.zip 显示头部信息

5. 解压文件

命令 说明
unzip archive.zip 解压到当前目录
unzip archive.zip -d /tmp/extract/ 解压到指定目录
unzip archive.zip file.txt 只解压单个文件
unzip archive.zip "dir/*" 解压匹配模式的文件
unzip -n archive.zip 从不覆盖现有文件
unzip -o archive.zip 覆盖现有文件(不提示)
unzip -q archive.zip 静默解压(不输出信息)
unzip -j archive.zip 忽略目录结构(将所有文件解压到同一目录)

6. 密码保护的压缩包

命令 说明
zip -e secure.zip file.txt 创建加密压缩包(交互式输入密码)
zip -er secure-dir.zip secrets/ 加密压缩目录
unzip secure.zip 解压加密 ZIP(提示输入密码)
zipcloak archive.zip 为现有压缩包添加加密
zipcloak -d archive.zip 移除压缩包的加密
zip -P password123 encrypted.zip file.txt 使用命令行指定密码(不安全,可能暴露)

7. 分卷压缩

命令 说明
zip -r -s 100m split-backup.zip bigdir/ 创建 100MB 大小的分卷压缩包
zip -s 0 split.zip --out merged.zip 将分卷合并为单个 ZIP 文件
unzip split.zip 解压分卷压缩包(需要所有分卷)
zip -s 2g -r media-split.zip media/ 创建 2GB 大小的分卷

分卷文件命名示例:

  • backup.zip(第 1 部分)
  • backup.z01(第 2 部分)
  • backup.z02(第 3 部分)…

8. 实用组合模式

命令 说明
zip -r backup-$(date +%Y%m%d).zip /home/user 创建带日期戳的备份
find . -name "*.txt" | xargs zip textfiles.zip 查找并压缩特定文件
unzip -l archive.zip | grep ".conf" 搜索压缩包中的配置文件
unzip archive.zip "*.py" -d ./python-code/ 只解压 Python 文件
zip -r -9 -e secure-backup.zip documents/ 最大压缩+加密
unzip -q -n archive.zip -d /target/ 静默解压,不覆盖
zip -r exclude-hidden.zip dir/ -x ".*" 压缩时排除隐藏文件
unzip -Z -1 archive.zip | wc -l 统计压缩包中文件数量

9. 常用选项速查

选项 完整名称 说明
zip options
-r --recurse-paths 递归处理目录
-j --junk-paths 不保存目录路径(仅文件名)
-0 to -9 压缩级别(0=不压缩,9=最大压缩)
--quiet 静默模式
-u --update 仅更新已更改的文件
-d --delete 删除压缩包中的文件
-m --move 压缩后删除原文件
-e --encrypt 创建加密压缩包
-s --split-size 创建分卷压缩
--exclude 排除匹配的文件
-i --include 仅包含匹配的文件
unzip options
-d --directory 解压到指定目录
-n --never-overwrite 从不覆盖
-o --overwrite 覆盖不提示
-q --quiet 静默解压
-t --test 测试压缩包完整性
-j --junk-paths 忽略目录结构
-l --list 列出文件
-Z --zipinfo 以 zipinfo 格式输出

10. 故障排查

问题 解决方法
unzip: cannot find or open 检查文件路径和名称:ls -lh archive.zip
CRC error during extraction 压缩包可能损坏,使用unzip -t archive.zip测试完整性
Files overwritten without warning 使用unzip -n避免覆盖
Wrong file permissions after extract 使用ls -l检查权限,用 chmod 和 chown 调整
Password prompt fails 重新输入密码;用zipinfo确认压缩包已加密
Archive too large, need splitting 创建分卷压缩:zip -s 100m -r large.zip dir/
Missing parts when extracting split archive 确保所有分卷文件(.zip、.z01、.z02 等)在同一目录
unzip: unsupported compression method 压缩方法不兼容,尝试在源系统重新压缩
Insufficient disk space 检查磁盘空间;提取到有足够空间的分区

使用 zip/unzip 时,注意以下几点:

  1. 跨平台传输时,避免使用特殊字符文件名;
  2. 加密敏感数据时使用-e选项;
  3. 大文件传输考虑分卷压缩;
  4. 备份重要数据前先用-t测试压缩包完整性;
  5. 批量操作时先用-l查看内容再解压;
  6. 对于需要长期归档的数据,建议同时保存压缩包的 MD5 校验值。

以上关于Linux zip/unzip命令详解:文件压缩解压参数速查表的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

22

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Linux zip/unzip命令详解:文件压缩解压参数速查表

发表回复