Mac怎么用zip命令压缩文件_Mac如何在终端中创建zip压缩包排除隐藏文件【命令】

阿静小哥_8442

阿静小哥_8442

2026-03-24

293人浏览

原创

使用 zip 命令压缩时需排除 macos 隐藏文件,可通过 -x 参数手动过滤、设置全局别名、编写 cleanzip.sh 脚本或结合 find 命令生成纯净 zip 包。

mac怎么用zip命令压缩文件_mac如何在终端中创建zip压缩包排除隐藏文件【命令】

如果您在 macOS 终端中使用 zip 命令压缩文件或文件夹,但解压后在其他系统(如 Windows 或 Linux)中看到 .DS_Store、__MACOSX 等隐藏文件,则说明默认 zip 行为未排除 macOS 特有的资源派生文件。以下是多种可立即执行的命令行方法,用于生成不含隐藏文件的标准 ZIP 包:

一、使用带 -x 参数的 zip 命令手动排除隐藏文件

该方法通过显式指定排除模式,在每次压缩时精准过滤掉 macOS 隐藏文件与系统元数据,无需修改环境配置,适用于单次、临时或脚本化调用场景。

1、打开“应用程序 > 实用工具 > 终端”。

2、使用 cd 命令进入目标文件所在目录,例如:cd ~/Downloads。

3、执行完整排除命令:zip -r output.zip folder_name/ -x "*/.DS_Store" -x "__MACOSX/*" -x "*/.Spotlight-V100" -x "*/.Trashes" -x "*/.fseventsd"。

4、若压缩单个目录且需排除其内部所有隐藏项(含子目录中的 .DS_Store),使用:zip -r output.zip folder_name/ -x "*/\.*" -x "__MACOSX/*"。

二、定义并启用全局别名 aliaszip 简化重复操作

该方法将常用排除参数固化为 shell 别名,使后续所有 zip 调用自动生效,避免每次输入冗长参数,适合高频使用终端压缩的用户。

1、在终端中执行:nano ~/.bash_profile(如使用 zsh,请改用 nano ~/.zshrc)。

2、在文件末尾新增一行:alias zip='zip -x "*/\.*" -x "__MACOSX/*" -x "*/.fseventsd" -x "*/.Spotlight-V100" -x "*/.Trashes"'。

3、保存并退出编辑器(Nano 中按 Ctrl+O → Enter → Ctrl+X)。

4、使配置立即生效:source ~/.bash_profile(zsh 用户执行 source ~/.zshrc)。

5、此后任意位置运行 zip -r archive.zip target/ 即自动排除全部隐藏文件。

Adobe Firefly
Adobe Firefly

Adobe Firefly是一款面向创意工作流的生成式 AI 图片、视频、音频和设计平台。

下载

三、创建可复用的 shell 脚本实现一键干净压缩

该方法封装压缩逻辑为独立脚本,支持拖拽文件夹至终端直接调用,兼顾灵活性与易用性,适用于需频繁处理不同路径的用户。

1、在终端中执行:nano ~/cleanzip.sh。

2、粘贴以下内容:

#!/bin/bash
if [ -z "$1" ]; then
  echo "用法:$0 "
  exit 1
fi
base=$(basename "$1")
zip -r "${base}.zip" "$1" -x "*/\.*" -x "__MACOSX/*" -x "*/.fseventsd" -x "*/.Spotlight-V100" -x "*/.Trashes"

3、赋予执行权限:chmod +x ~/cleanzip.sh。

4、压缩任意文件夹:~/cleanzip.sh /path/to/folder。

四、利用 find 与 zip 组合实现深度路径排除

该方法适用于需严格控制压缩范围的复杂目录结构,例如仅打包特定类型文件、跳过符号链接或按修改时间筛选,同时确保无隐藏文件混入。

1、进入目标目录:cd /your/target/path。

2、生成不含隐藏项的文件列表:find . -type f ! -name ".*" ! -path "./__MACOSX*" -print0 > /tmp/filelist0。

3、基于列表创建 ZIP:zip -0r output.zip -@ 。

4、清理临时文件:rm /tmp/filelist0。

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3239

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2798

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1488

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2579

5

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.08

3290

4

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

1617

3

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

2023.08.28

2497

4

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.30

4887

5

Window.setInterval()方法
Window.setInterval()方法

Window.setInterval() 方法的基本语法是“window.setInterval(function, delay)”,function是要重复执行的函数或代码块,delay是每次执行之间的时间间隔,以毫秒为单位。本专题为大家提供Window.setInterval()相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

735

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 186人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.6万人学习

好课诞生记
好课诞生记

共20课时 | 7.2万人学习