仅从终端获取 chflags

仅从终端获取 chflags

我想知道是否有办法可以仅获取给定文件的 chflags。

截至目前,我只能使用以下命令查看 chflags:

ls -lO

它将返回如下内容:

dr-x------  8 User  staff  uchg        272 Aug  9 14:15 File

如果可能的话,有没有办法只获取 chflags 作为文本,就像您可以使用以下方式查看专门的 chmod 值一样:

stat -f %A

谢谢!

编辑:

进一步查看后,发现有一个统计字段说明符:

stat -f %f File

它确实告诉人们一个文件有多少个标志,但没有提供更多细节。有人能详细说明一下吗?

答案1

stat -f "%f" file将文件标志返回为十进制数。文件-/usr/include/sys/stat.h以十六进制数定义文件标志。您可以使用stat -f "%Xf" file来生成十六进制数。解析标志字段的脚本或 shell 函数ls -lOd file将是最简单的解决方案。

相关内容