首页 / Linux 命令行入门教程 / 38. zip / unzip

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
Note

zip 默认保留原文件、不删除,这点跟 gzip / bzip2 / xz(会删原文件,见 §37)正好相反。

zip 和 tar.gz 怎么选:

  • 要跨平台发给别人 → 用 zip
  • 在 Linux 之间备份、且要保留权限 → 用 tar.gz(§36)
Tip

只想压缩单个文件并跨平台,用 zip 单文件即可;要整个目录保留结构,记得加 -r

小结:zip 跨平台、打包压缩一步到位、不删原文件;unzip 解压,-l 列内容。