macOS 系统在处理文件时,会自动生成一些以 ._ 开头的隐藏文件

mac下压缩文件 传到服务器上 解压缩,会产生很多多余文件 大多以"._"开头的文件,如何不把这些文件压缩进去呢?

这个问题是由于 macOS 系统在处理文件时,会自动生成一些以 ._ 开头的隐藏文件(通常称为 AppleDouble 文件),用于存储扩展属性和元数据。当你在其他系统(如 Linux 服务器)上解压时,这些文件就会显现出来,造成困扰。

有几种方法可以在压缩时避免将这些多余文件打包进去,你可以根据自己的习惯选择。

💻 方法一:使用终端命令(无需安装新软件)

这是最直接的方法,通过命令行在压缩时排除这些文件。

使用 zip 命令

zip 命令的 -X 参数可以排除 macOS 的扩展属性,同时配合 -x 参数排除 __MACOSX 文件夹。

-r: 递归压缩目录

-X: 排除扩展属性

-x: 排除指定的文件模式

zip -r -X your_archive.zip your_folder_name -x .DS_Store" -x "__MACOSX/"

your_archive.zip: 你想要生成的压缩包名称。

your_folder_name: 你想要压缩的文件夹名称。

使用 tar 命令

在创建 tar 包时,可以通过设置环境变量 COPYFILE_DISABLE=1 来禁用对 macOS 特有文件的打包。

-c: 创建归档

-z: 使用 gzip 压缩

-v: 显示过程

-f: 指定归档文件名

COPYFILE_DISABLE=1 tar -czvf your_archive.tar.gz your_folder_name

🛠️ 方法二:使用第三方压缩软件(图形界面)

如果你觉得命令行不方便,很多第三方压缩软件提供了更友好的图形界面来自动处理这个问题。

Keka (免费/付费):一款非常流行的 macOS 压缩工具。在压缩时,勾选 "排除 Mac 资源文件" 选项,它就会自动过滤掉 ._ 文件和 .DS_Store 文件。

BetterZip (付费):功能强大的压缩软件。在保存压缩包时,可以选择 "为 PC 保存" 预设,或者在选项中勾选 "从压缩文件中移除特殊 Mac 文件",即可实现同样的效果。

🧹 方法三:事后清理(如果文件已在服务器上)

如果文件已经上传到服务器,你也可以在服务器上直接删除这些多余的文件。

在服务器的终端中,进入你的项目目录,然后执行以下命令:

查找并删除当前目录及子目录下所有以 "." 开头的文件
find . -name ".
*" -type f -delete

警告:此命令会直接删除文件,执行前请确保你不在重要的系统目录下,或者先用 find . -name "._*" -type f (不带 -delete)预览一下将要删除的文件。

相关推荐
青柠之夏cc15 小时前
Kotlin Multiplatform:一次编写,全平台运行,2026 年跨平台开发的 “最优解”?
macos·objective-c·cocoa
黑科技iOS上架2 天前
iOS framework/dylib动态库定向加固实战
macos·ios·objective-c·cocoa·审核·ios混淆·执行程序差异化
神奇的小猴程序员3 天前
苹果Mac电脑玩我的世界没有版本?用PCL-R即可!
macos
灵韵aura3 天前
macOS 的指令缩写
macos
yqj2344 天前
ESP32-S3中小智项目优化内容
ide·macos·xcode
Mininglamp_27185 天前
Cider量化配置与性能调优:在M系列Mac上压榨Mano-P的每一点推理性能
macos
xuefuhe5 天前
MacOS EAGAIN无法打开terminal
macos
传奇开心果编程5 天前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
the3clipse6 天前
MacOS、Linux 与 Windows 视频编解码对比:AV1、HEVC、ProRes 与硬件加速优劣势
linux·windows·macos·hevc·av1·视频解码·硬件解码
传奇开心果编程6 天前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift