zip、unzip:压缩解压命令
侧边栏壁纸
  • 累计撰写 146 篇文章
  • 累计收到 2 条评论

zip、unzip:压缩解压命令

soulio
2024-10-07 / 0 评论 / 8 阅读 / 正在检测是否收录...

一、命令简介

zip​ 和 unzip​ 用于创建和解压 ZIP 格式的压缩文件。tar​ 和 zip​ 都是十分好用且常用的压缩工具。

安装 zip 和 unzip

sudo apt install zip -y

二、命令参数

zip​ 命令有很多参数,可以用来控制压缩过程的不同方面。以下是一些常用的 zip​ 命令参数:

  • -q​: 安静模式,不显示指令执行过程。
  • -r​: 递归处理,将指定目录下的所有文件和子目录一并处理。
  • -j​: 不处理压缩文件中原有的路径,将所有文件都压缩到根目录下。
  • -d​: 从压缩文件内删除指定的文件。
  • -m​: 将文件压缩并加入压缩文件后,删除原始文件。
  • -u​: 更新压缩文件中的文件,只添加新文件或更新较新的文件。
  • -f​: 替换压缩文件中的文件,即使新文件的日期比压缩文件内的旧文件日期早。
  • -e​: 加密压缩文件内的文件名。
  • -n​: 不压缩特定后缀名的文件。
  • -x​: 排除特定文件或目录。
  • -y​: 直接保存符号链接,而非链接所指向的文件。
  • -F​: 尝试修复已损坏的压缩文件。
  • -T​: 测试压缩文件是否正确无误。
  • -z​: 添加注释到压缩文件。
  • -A​: 调整可执行的自动解压缩文件。
  • -S​: 包含系统和隐藏文件。
  • -j​: 忽略路径,将所有文件压缩到压缩文件中而不保留目录结构。
  • -0​ 至 -9​: 设置压缩级别,-0​ 表示不压缩,-9​ 表示最大压缩。


unzip​ 命令用于解压缩由 zip​ 命令创建的压缩文件。以下是一些常用的 unzip​ 命令参数:

  • -l​: 列出压缩文件的内容,但不解压缩。
  • -v​: 显示详细信息或版本信息。
  • -t​: 测试压缩文件是否损坏,但不解压缩。
  • -d <directory>​: 指定解压缩的目录。
  • -x <file>​: 排除指定的文件,不进行解压缩。
  • -j​: 忽略压缩文件中的目录结构,将所有文件解压到同一目录下。
  • -Z​: 显示压缩文件注释。
  • -c​: 将解压缩的文件输出到标准输出(屏幕),而不是写入磁盘。
  • -n​: 不覆盖已存在的文件。
  • -o​: 覆盖已存在的文件而不提示确认。
  • -q​: 以安静模式运行,不显示解压缩过程中的信息。
  • -a​: 对文本文件进行自动字符编码转换。
  • -U​: 对文件名和注释使用 UTF-8 编码。
  • -D​: 不恢复文件权限(用于非 Unix 系统)。

三、命令示例

  • zip 示例:

zip -r archive_name.zip directory/

# 创建压缩文件,排除所有 .log 文件
zip -r archive_name.zip directory/ -x "*.log"

# 更新压缩文件中的文件,只添加新文件或更新较新的文件
zip -u archive_name.zip file_to_update.txt

# 创建压缩文件,并删除原始文件
zip -rm archive_name.zip file_to_remove.txt

# 创建压缩文件,并添加注释
zip -z archive_name.zip "This is a comment"

# 创建压缩文件,使用最大压缩级别
zip -r -9 archive_name.zip directory/

# 创建压缩文件,排除特定文件
zip -r archive_name.zip directory/ -x "specific_file.txt"

使用 zip​ 命令时,你可以结合多个参数以满足你的特定需求。要查看完整的参数列表和更详细的说明,可以在命令行中执行 zip -h​ 或 man zip​。


  • unzip 示例:
# 解压缩文件到当前目录
unzip archive_name.zip

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

# 列出压缩文件内容,但不解压缩
unzip -l archive_name.zip

# 测试压缩文件是否损坏,但不解压缩
unzip -t archive_name.zip

# 解压缩文件,排除特定的文件
unzip archive_name.zip -x "file_to_exclude.txt"

# 解压缩文件,忽略目录结构,所有文件都解压到当前目录
unzip -j archive_name.zip

# 解压缩文件,并覆盖已存在的文件而不提示确认
unzip -o archive_name.zip

# 解压缩文件,不覆盖已存在的文件
unzip -n archive_name.zip

# 显示压缩文件的注释
unzip -Z archive_name.zip

使用 unzip​ 命令时,你可以结合多个参数以满足你的特定需求。要查看完整的参数列表和更详细的说明,可以在命令行中执行 unzip -h​ 或 man unzip​。

本文共 920 个字数,平均阅读时长 ≈ 3分钟
0

海报

正在生成.....

评论 (0)

取消