Answers:
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
信息存储为扩展属性:
您可以使用以下命令查看ACL ls -le
:
$ ls -led /Applications/
drwxrwxr-x@ 146 root admin 4964 Jun 17 22:53 /Applications/
0: group:everyone deny delete
--disable-copyfile
这些文件始终存在,但是在Finder(和大多数Mac OS应用程序)中不可见。参见/superuser/212896/
编辑
也就是说:这些文件包含扩展文件属性... en.wikipedia.org/wiki/Extended_file_attributes ...并且它们是在MacOS为文件提供扩展属性后立即创建的。因此,这些._ *文件不是为tar存档创建的。