
Linux zip 命令
在 Linux 系统中,zip 命令主要用于文件的压缩处理。
zip 是一种广为使用的压缩工具,生成的压缩文件以 .zip 作为扩展名。
不同于 gzip 或 bzip2,zip 支持同时压缩多个文件或整个文件夹,并且能够保留原始的目录结构。
此外,zip 格式在多种操作系统(如 Windows 和 macOS)中都有良好的兼容性。
命令格式
zip [参数] 输出文件.zip 输入文件1 输入文件2 ...
-
输出文件.zip:指定压缩后的文件名称。 -
输入文件1 输入文件2 ...:列出需要压缩的一个或多个文件或文件夹。
常用参数说明:
-
-r:递归压缩,用于压缩目录及其子目录中的所有内容。 -
-e:启用密码保护功能,压缩时设置密码。 -
-q:开启静默模式,压缩时不显示操作过程。 -
-v:显示详细的压缩信息。 -
-x:指定不需要压缩的文件或目录。 -
-m:压缩完成后删除源文件。 -
-0至-9:设置压缩等级,其中-0表示无压缩,-9表示最高压缩率,默认为-6。
使用示例
压缩单个文件
zip archive.zip example.txt
该命令将 example.txt 文件打包为 archive.zip。
压缩多个文件
zip archive.zip file1.txt file2.txt file3.txt
这会把三个文本文件一起压缩进 archive.zip 文件中。
压缩整个目录
zip -r archive.zip directory/
此命令会对 directory 目录及其内部所有子目录进行递归压缩,同时保持原有目录结构。
带密码压缩
zip -e archive.zip file.txt
执行后,file.txt 将被加密压缩到 archive.zip 中,解压时需提供密码。
排除某些文件不压缩
zip -r archive.zip directory/ -x "*.log"
这条命令将压缩 directory/ 下的所有内容,但不会包含任何 .log 格式的文件。
压缩后删除原文件
zip -m archive.zip file.txt
运行此命令后,file.txt 将被压缩进 archive.zip 并从原位置删除。
解压 .zip 文件
可以使用 unzip 工具来释放 .zip 包中的内容:
unzip archive.zip
该命令会将压缩包内的文件释放到当前目录,保留原有的目录层级和文件数据。










