一、命令简介
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)