执行“ls -l”时,at 符号“@”和“+”符号是什么意思

non*_*ity 0 ls bash macos

这是在 macOS Mojave 上。我试图通过使用来获取目录的大小

du -csh */
Run Code Online (Sandbox Code Playgroud)

在我的主目录中。但目录Library给出了Operation not permitted. 所以我以前也sudo这么做过,而且也是同样的事情。

然后我做了

ls -l Library
Run Code Online (Sandbox Code Playgroud)

并看到

drwx------+  35 peter  staff   1120 Mar 11 10:12 Logs/
drwx------@   3 peter  staff     96 Mar 18  2014 Mail/
Run Code Online (Sandbox Code Playgroud)

@和是什么+意思?实际允许访问Logs但不允许Mail.

sch*_*ity 6

macOS 上的手册对此ls进行了描述:

长格式 如果给出 -l 选项,则为每个文件显示以下信息:文件模式、链接数、所有者名称、组名称、文件中的字节数、缩写月份、文件所在月份的日期上次修改时间、上次修改时间文件、上次修改分钟文件以及路径名。此外,对于显示其内容的每个目录,该目录中的文件所使用的 512 字节块的总数单独显示在一行中,紧接在该目录中的文件的信息之前。如果文件或目录具有扩展属性,则 -l 选项打印的权限字段后跟 @ 字符。否则,如果文件或目录具有扩展安全信息,则 -l 选项打印的权限字段后跟一个 + 字符。