为什么 `getfattr -d` 没有显示任何内容?

为什么 `getfattr -d` 没有显示任何内容?

我开始的成功命令:

getfattr -n system.ntfs_times /media/hdd/oldfolder/

输出

getfattr: Removing leading '/' from absolute path names
# file: media/hdd/oldfolder/
system.ntfs_times=irrelevant

但如果我尝试

getfattr -d /media/hdd/oldfolder/getfattr -d -e text /media/hdd/oldfolder/hexbase64作为参数的值-e我什么也得不到。

这是为什么?我认为-d转储所有属性而不是没有属性:)

答案1

要真正报告所有属性,您可以使用参数-dm-,它代表参数-d-m -

例如,我启动了 Chromium,我去了https://bugsfiles.kde.org/attachment.cgi?id=86198,该操作开始下载一个文件,我将其命名为“my_downloaded_file”。

然后我执行getfattr -m- my_downloaded_file并显示:

# file: my_downloaded_file
user.xdg.origin.url

尽管显示更多信息正在执行getfattr -dm- my_downloaded_file

# file: my_downloaded_file
user.xdg.origin.url="https://bugsfiles.kde.org/attachment.cgi?id=86198"

参考:

答案2

我假设你使用的是ntfs-3glinux驱动程序。该驱动程序创建了一些虚拟 xattr,其中system.ntfs_times之一。什么时候列出 xattr,驱动程序没有列出这些虚拟 xattrs,但我没有看到它不能列出的原因。使用xattr 映射功能,您可以将系统命名空间中的 xattrs 映射到用户命名空间,然后将列出它们。这些虚拟 xattr 的列表可以在文档来源

答案3

getfattr 命令的手册页对此并不清楚,但要真正查看所有输出,请使用以下开关:

getfattr -m - -- "$your_path_or_file_name"

从手册页:

-m pattern, --match=pattern
           Only include attributes with names matching the regular expression pattern.  The default value for pattern
           is "^user\\.", which includes all the attributes in the user namespace.  Specify  "-"  for  including  all
           attributes.  Refer to attr(5) for a more detailed discussion of namespaces.

相关内容