在mac终端中用zip命令快速打包文件夹:先打开终端,cd进入目标文件夹父目录,再执行zip -r 输出名.zip 文件夹名;支持绝对路径、排除指定子目录(如node_modules)等灵活操作。

你需要在Mac终端里把一个文件夹快速打包成ZIP格式,比如发给同事前整理项目资料,或者备份本地开发目录,又不想打开访达右键点来点去。
用zip命令递归压缩整个文件夹
第一步:打开“终端”应用。可以在“应用程序→实用工具”里找到它,也可以用 Spotlight(Command + 空格)搜“终端”直接启动。
第二步:用 cd 命令切换到目标文件夹的父目录。比如你要压缩桌面的“源代码”文件夹,就输入:cd ~/Desktop。这一步不能跳过,否则后续路径容易写错。
第三步:执行压缩命令:zip -r 源代码.zip 源代码。其中 -r 表示递归压缩,没有它只会压空文件夹;源代码.zip 是输出文件名,源代码 是待压缩的文件夹名(必须与当前目录下实际名称完全一致,区分大小写)。
第四步:回车运行后,终端会逐行显示正在添加的文件路径。等光标重新出现,说明压缩完成——生成的 ZIP 文件就落在你当前所在的目录里,也就是桌面上。
指定绝对路径压缩,不切换目录
方法一:直接用完整路径写命令。例如要把 /Users/yourname/Documents/设计稿 压成 /Users/yourname/Downloads/设计稿备份.zip,就输入:zip -r /Users/yourname/Downloads/设计稿备份.zip /Users/yourname/Documents/设计稿。
方法二:用波浪线缩写简化路径。上面那条命令可简写为:zip -r ~/Downloads/设计稿备份.zip ~/Documents/设计稿。注意斜杠前后不能有空格,路径中间也不能有中文乱码或不可见字符,否则命令会报错说“no such file or directory”。
排除特定子文件夹或文件再压缩
如果你的项目文件夹里混着 node_modules 或 .git 这类大体积又无需传输的目录,可以跳过它们:zip -r 项目.zip 项目文件夹 -x "项目文件夹/node_modules/*" "项目文件夹/.git/*"。
这里 -x 后面跟的是要排除的路径模式,必须用英文双引号包裹,且通配符 * 要写全——只写 "node_modules" 不起作用,必须是 "项目文件夹/node_modules/*" 才能真正过滤掉整个目录内容。











