[macOS]拡張ファイル属性の表示と編集

拡張ファイル属性の表示と編集

https://swift-ios.keicode.com/mac/command-xattr.php

目次
拡張ファイル属性とは?
拡張ファイル属性の表示と編集

1. 拡張ファイル属性とは?

macOS では拡張ファイル属性 (extended attributes) が使えます。

ファイルシステムには、ファイル名やファイルの更新日時といった、基本情報を保持する機能が備わっています。 拡張ファイル属性というのは、そうした基本情報以外に、ユーザーが任意にファイルに関連付けするメタデータのことです。

拡張ファイル属性は、単に拡張属性ともいいます。
2. 拡張ファイル属性の表示と編集

拡張ファイル属性は xattr コマンドを使うと、表示や編集などができます。
また、ls コマンドの -l@ オプションでもある程度表示できます。

例えば、ls -l@ コマンドを実行すると、次のようになります。

% ls -l@
total 329160
-rw-r–r–+ 1 user1 staff 26 Dec 1 00:51 file1.txt
-rw-r–r–@ 1 user1 staff 167978550 Nov 22 15:07 gimp-2.10.14-x86_64.dmg
com.apple.diskimages.fsck 20
com.apple.diskimages.recentcksum 80
com.apple.macl 72
com.apple.metadata:kMDItemWhereFroms 151
com.apple.quarantine 57

パーミッションの横に表示されている @ 記号が、拡張ファイル属性が設定されていることを示しています。

ここで表示された com.apple.diskimages.fsck などのエントリーが拡張ファイル属性です。

拡張属性の値の表示には xattr コマンドの -p オプションを使います。

% xattr -p 属性名 ファイル名

拡張属性の値の設定には xattr コマンドの -w オプションを使います。

例えば file1.txt に my-project 属性として、test という値を設定するには、 次のようにします。

% xattr -w my-project test file1.txt

拡張属性の一覧を表示するには、xattr コマンドの -l オプションを使います。

% xattr -l file1.txt
my-project: test
url: swift-ios.keicode.com

拡張属性を削除するには、xattr コマンドの -d オプションを使い、 削除する属性名を渡します。

% xattr -d my-project file1.txt
% xattr -l file1.txt
url: swift-ios.keicode.com

ここでは、拡張属性と、拡張属性を表示するための ls コマンドや xattr コマンドの使い方について説明しました。

Linux、Netatalk、Samba、NFSを使用したファイルサーバーについて研究・運用しています。

fsをフォローする
コマンド参考リンク

コメント