为什么我在tar目录时OSX会添加额外的'._ <文件名>'?


14

我只想知道为什么我要“ tar -czf”文件/目录,而osx 为每个文件添加一个 ._?我在Linux中解压缩时会看到这些。或者当我在Eclipse中处理未压缩的项目时,因为它根本不喜欢它们。我使用10.7.5。

Answers:


15

OS X的tar使用AppleDouble格式存储扩展属性和ACL。tar和Archive Utility也知道如何将._文件转换回本机格式,但是如果将归档文件提取到另一个平台或非HFS卷上,则将保留._文件。

通常,您可以通过将COPYFILE_DISABLE设置为某个值来告诉tar删除元数据:

$ xattr -l file.jpg
com.apple.quarantine: 0002;50d20c48;Tweetbot;
$ tar -cf 1.tar file.jpg 
$ tar -tf 1.tar 
./._file.jpg
file.jpg
$ COPYFILE_DISABLE=1 tar -cf 2.tar file.jpg 
$ tar -tf 2.tar 
file.jpg

信息存储为扩展属性:

  • 资源分叉(自10.4开始)
    • 在Finder中设置的自定义图标和Icon \ r文件的图像
    • PSD文件中的元数据
    • 存储在scpt文件中的脚本对象,AppleScript编辑器窗口状态
  • 有关别名的信息
  • 隔离状态,下载URL
  • 焦点评论
  • 使用TextEdit保存的文件的编码
  • 使用TextMate保存的文件的插入位置
  • 略读笔记

您可以使用以下命令查看ACL ls -le

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete

关于COPYFILE_DISABLE的好建议,解决了我那些讨厌的._文件的问题。
StasM 2012年

github.com/libarchive/libarchive/commit/…引起了人们的注意--disable-copyfile
Graham Perrin

-2

这些文件始终存在,但是在Finder(和大多数Mac OS应用程序)中不可见。参见/superuser/212896/

编辑

也就是说:这些文件包含扩展文件属性... en.wikipedia.org/wiki/Extended_file_attributes ...并且它们是在MacOS为文件提供扩展属性后立即创建的。因此,这些._ *文件不是为tar存档创建的。


2
不,他们并不总是在那里,因为这是我以前在ubuntu上工作的东西。我猜想osx在将压缩文件分解到系统上时会添加它们。直到我把警察带回原籍地之前,我当然不知道。我想知道的是它首先添加了它们
Dark Star1 2012年

1
这些文件包含扩展的文件属性... en.wikipedia.org/wiki/Extended_file_attributes
GEdgar 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.