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

Ubuntu 22.04打包Zip时如何不保留文件权限?

解决Ubuntu 22.04打包Zip时不保留文件权限的问题

问题核心

Ubuntu默认的zip命令会存储Unix文件权限信息,导致跨系统解压时出现权限问题,而Windows工具/7zip打包的Zip不会包含这些权限。仅用zip -X无法彻底去除权限(该参数仅排除扩展属性,不处理基础权限字段)。

有效解决方法

1. 调整zip命令参数,彻底清除权限信息

使用--no-extra参数去除包含权限的额外字段,配合-X确保扩展属性也不被保存:

# 打包单个文件
zip --no-extra -X testZip.zip ./index.html

# 递归打包目录
zip --no-extra -X -r testZip.zip ./target_folder

2. 使用7zip打包(和Windows端行为完全一致)

Ubuntu下安装7zip工具:

sudo apt install p7zip-full

用7zip打包,默认不会存储Unix权限,和Windows操作结果一致:

# 打包单个文件
7z a testZip.zip ./index.html

# 递归打包目录
7z a testZip.zip ./target_folder

3. 统一权限后再打包(适合标准化场景)

如果需要确保解压后权限为通用值(如文件644、目录755),可先批量修改权限再打包:

# 批量设置目录权限为755
chmod -R 755 ./target_folder
# 批量设置文件权限为644
find ./target_folder -type f -exec chmod 644 {} \;
# 打包(可选加-X排除扩展属性)
zip -X -r testZip.zip ./target_folder

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:27:37