Linux 命令行入门教程
38. zip / unzip
本教程共 90 篇 · 第 38 篇
38. zip / unzip
zip 跨平台,Windows、macOS 都认。它一边打包一边压缩,思路和 tar+gzip 不同,适合把文件发给用别的系统的人。
压缩文件或目录:
zip myfiles.zip a.txt b.txt
zip -r project.zip ./project
-r 递归进目录,-e 加密,-x 排除某些文件:
zip -r backup.zip . -x "*.tmp"
解压到当前目录:
unzip myfiles.zip
解压到指定目录,用 -d:
unzip myfiles.zip -d /tmp/out
只看包里有什么、不解压:
unzip -l myfiles.zip
Notezip 默认保留原文件、不删除,这点跟 gzip / bzip2 / xz(会删原文件,见 §37)正好相反。
zip 和 tar.gz 怎么选:
- 要跨平台发给别人 → 用 zip
- 在 Linux 之间备份、且要保留权限 → 用 tar.gz(§36)
Tip只想压缩单个文件并跨平台,用 zip 单文件即可;要整个目录保留结构,记得加
-r。
小结:zip 跨平台、打包压缩一步到位、不删原文件;unzip 解压,-l 列内容。