当我用Mac OSX中内置的zip压缩器压缩文件时,它会在提取的zip中创建一个名为“__MACOSX”的额外文件夹。
我是否可以调整我的设置以避免创建此文件夹,或者我是否需要购买第三方压缩工具?
更新:我刚刚发现了一个OSX的免费应用程序,解决了我的问题:“YemuZip”
更新2:YemuZip不再是免费软件。
当我用Mac OSX中内置的zip压缩器压缩文件时,它会在提取的zip中创建一个名为“__MACOSX”的额外文件夹。
我是否可以调整我的设置以避免创建此文件夹,或者我是否需要购买第三方压缩工具?
更新:我刚刚发现了一个OSX的免费应用程序,解决了我的问题:“YemuZip”
更新2:YemuZip不再是免费软件。
当前回答
这是我在使用tar命令压缩文件时避免__MACOSX目录的方法:
$ CD dir-you-want-to-archive $ find。| xargs xattr - l# <-列出所有具有特殊xattr属性的文件 ... ./conf/clamav: com.apple.quarantine: 0083;5a9018b1 ./conf/global: com.apple.quarantine: 0083;5a9018b1;Safari ./conf/web_server: com.apple.quarantine: 0083;5a9018b1
先删除属性:
找到。|xargs xattr -d com.apple.quarantine
运行find。| xargs xattr -l,确保没有任何文件具有xattr属性。然后你就可以开始了:
你是水手bz2你
其他回答
你不能。
但是你能做的就是在压缩后删除那些不需要的文件夹。命令行zip接受不同的参数,其中-d用于根据正则表达式删除内容。所以你可以这样使用它:
zip -d filename.zip __MACOSX/\*
这命令为我成就了这事:
zip -r Target.zip Source -x "*.DS_Store"
zip是要创建的zip文件。Source是要压缩的源文件/文件夹。-x参数指定要排除的文件/文件夹。
如果上面的方法不管出于什么原因都不管用,试试下面的方法:
zip -r Target.zip Source -x "*.DS_Store" -x "__MACOSX"
这是我在使用tar命令压缩文件时避免__MACOSX目录的方法:
$ CD dir-you-want-to-archive $ find。| xargs xattr - l# <-列出所有具有特殊xattr属性的文件 ... ./conf/clamav: com.apple.quarantine: 0083;5a9018b1 ./conf/global: com.apple.quarantine: 0083;5a9018b1;Safari ./conf/web_server: com.apple.quarantine: 0083;5a9018b1
先删除属性:
找到。|xargs xattr -d com.apple.quarantine
运行find。| xargs xattr -l,确保没有任何文件具有xattr属性。然后你就可以开始了:
你是水手bz2你
不需要的文件夹还可以通过以下方式删除:
zip -d filename.zip "__MACOSX*"
最适合我
清理.DS_Store和__MACOSX中的.zip文件,包括子文件夹:
zip -d archive.zip '__MACOSX/*' '*/__MACOSX/*' .DS_Store '*/.DS_Store'
介绍:
像往常一样,右键单击文件(或文件夹)并选择“压缩…” 打开终端应用(在Spotlight搜索中搜索终端) 在终端输入zip(但不要按回车键) 将.zip拖到终端,使其转换为路径 复制粘贴- d ' __MACOSX / * * / __MACOSX / * .DS_Store”* /。DS_Store” 回车 使用zipinfo archive.zip列出里面的文件,检查(可选)