簡介
Linux
中的 xattr
命令用於管理檔案的擴充套件屬性。擴充套件屬性儲存標準屬性中未包含的附加後設資料(如許可權、所有者和時間戳)。它們通常由特定的應用程式或檔案系統(例如,acl
、SELinux
標籤)使用。
關鍵概念
- 擴充套件屬性:與檔案相關的後設資料,以鍵值對的形式儲存
屬性的通用名稱空間:
user
:通用,普通使用者可訪問security
:用於安全框架,如SELinux
system
:用於系統級別的後設資料trusted
:需要root
訪問許可權的後設資料
用法示例
列出檔案的所有擴充套件屬性
xattr example.txt
# 輸出如:user.comment
檢視擴充套件屬性的值
xattr -p [attribute_name] [file]
xattr -p user.comment example.txt
# 輸出如:This is a sample comment.
設定或更新擴充套件屬性
xattr -w [attribute_name] [value] [file]
xattr -w user.comment "This is a test comment" example.txt
移除指定的擴充套件屬性
xattr -d [attribute_name] [file]
xattr -d user.comment example.txt
列出檔案的所有擴充套件屬性的鍵和值
xattr -l [file]
xattr -l example.txt
複製一個檔案的擴充套件屬性到另一個檔案
xattr --copy-source=[source_file] [destination_file]
xattr --copy-source=example.txt copy.txt
遞迴列出目錄所有檔案的擴充套件屬性
xattr -r [directory]
遞迴刪除目錄所有檔案的擴充套件屬性
xattr -cr [directory]
常見問題
ext4
、XFS
、Btrfs
檔案系統支援擴充套件屬性,FAT32
檔案系統不支援。- 如果擴充套件屬性不工作,使用下列命令啟用:
sudo mount -o remount,user_xattr /mount/point