You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需cd进入目录,将目录内容压缩为根目录级Zip的方法

在Ubuntu/Linux下无需进入目录直接压缩子目录内容为Zip根目录的方法

原生Zip工具(Zip 3.0适用)

方法1:子shell执行(推荐,兼容隐藏文件)

直接在项目根目录执行以下命令,子shell的cd不会影响当前终端的工作目录,同时能完整打包dist内所有内容(包括隐藏文件)并保留目录结构,且dist本身不会出现在压缩包中:

(cd dist && zip -r ../dist-output.zip .)

解释:

  • (...) 启动子shell,内部的cd dist仅在子shell生效,不改变当前终端的工作目录
  • zip -r ../dist-output.zip . 将当前子shell目录(即dist)下的所有文件、子目录递归打包到上级目录的dist-output.zip中,.代表当前目录的全部内容

方法2:直接指定目录内通配符(注意隐藏文件)

如果不需要处理隐藏文件,可直接执行:

zip -r dist-output.zip dist/*

若需包含dist下以.开头的隐藏文件,需补充通配符:

zip -r dist-output.zip dist/* dist/.*

注意:此命令会包含dist/..(上级目录),需确保当前目录下无敏感文件,或提前过滤。

轻量第三方工具可选方案

7-Zip

若系统已安装7z(Ubuntu可通过sudo apt install p7zip-full安装,macOS用brew install p7zip),可执行:

7z a -tzip dist-output.zip ./dist/*

需包含隐藏文件时补充通配符:

7z a -tzip dist-output.zip ./dist/* ./dist/.*

tar + zip(间接生成Zip包)

先通过tar打包dist内容,再转为Zip格式:

tar -C dist -cf - . | zip dist-output.zip -@

解释:

  • tar -C dist -cf - . 切换到dist目录,将内容打包为标准输出(-)
  • zip dist-output.zip -@ 从标准输入读取文件列表并生成Zip包

内容的提问来源于stack exchange,提问作者DevOverlord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:01:03