Mac OS X 上的目录列表

Mac OS X 上的目录列表

我将一堆文件(音乐和其他内容)转储到我崭新的 Macbook 上,由于我更熟悉 Linux 而不是 Mac(目前),所以我倾向于使用终端。

我对传输的文件执行了 ls -al,有些文件在权限字符串末尾有一个“@”,有些则没有。

就像是:

drwxrwxr--@ 93 user staff etc.
drwxrwxr-- 107 user staff etc.

没有“@”的文件可以在 Finder 中看到并被其他程序访问——带有“@”的文件和目录是不可见的。有人能解释一下“@”是什么意思,以及如何 chmod(或其他)以便我可以使用那些文件吗?我猜它是某种系统标志,但我不知道如何取消设置它。Chmod 777 没有效果,我已经拥有这些文件了。

谢谢

答案1

此链接解释如何使用“@”符号来表示文件具有“附加属性”,可以通过键入以下内容查看:

xattr -l <​​文件名>

附加属性用于存储有关文件的额外信息。例如,当从互联网下载文件时,它可能包含一个附加属性,该属性在执行时触发“警告此文件已下载...”消息。

答案2

正如 JT.WK 所说,“@”表示文件附加的扩展属性。尝试ls -lO@在文件上使用——-O显示文件标志,-@显示扩展属性的名称(但不显示内容)。我猜你会看到com.apple.FinderInfoxattrs 和标志hidden(注意:我假设这里是 Mac OS X 10.5 或 10.6——旧版本没有将invisibleFinder 标志映射到文件标志中)。假设我对此是正确的,您可以使用以下命令清除标志:

chflags nohidden /path/to/file

(如果您使用的是 Mac OS X v10.4,Finder 标志几乎无法通过命令行访问 - 请告诉我,我会看看能想出什么办法。)

相关内容