![我可以在 Linux 上的 NTFS 上设置文件的“存档”位吗?](https://linux22.com/image/131338/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20Linux%20%E4%B8%8A%E7%9A%84%20NTFS%20%E4%B8%8A%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E7%9A%84%E2%80%9C%E5%AD%98%E6%A1%A3%E2%80%9D%E4%BD%8D%E5%90%97%EF%BC%9F.png)
在 NTFS 文件系统上,您可以设置Archive
文件的位。
Archive
如果我使用 Windows,我可以为 NTFS 分区上的文件设置位,但是假设我在 Linux 上安装了 NTFS 分区,我Archive
也可以在 Linux 上为文件设置位吗?
答案1
最流行的工具,namedntfs-3g
支持此功能。它名为NTFS属性。
您应该确保setfattr
(男人 1 setfattr)已安装。 NTFS属性由两组属性组成system.ntfs_attrib
:(小尾数) 和system.ntfs_attrib_be
(大尾数法)。这只是为了方便使用。
每个属性都由它自己的十六进制值表示(即0x20
for FILE_ATTRIBUTE_ARCHIVE
)。您可以在以下位置查看更多信息和值官方资源。 NTFS 属性组由 4 个字节组成,您可以在其中组合多个属性(存档 + 系统...)。
显示当前的 NTFS 属性test.file
:
# Big-Endian
getfattr -h -e hex -n system.ntfs_attrib_be source-file
设置FILE_ATTRIBUTE_ARCHIVE
为test.file
:
# Big-Endian.
setfattr -h -v 0x00000020 -n system.ntfs_attrib_be target-file
# Little-Endian (in this manner in x86 family CPU bytes are stored.
# IMHO it's not very convenient for usage.
setfattr -h -v 0x20000000 -n system.ntfs_attrib target-file