読者です 読者をやめる 読者になる 読者になる

lsコマンドの拡張属性

Leopardでは、ls -lで表示されるアクセス権の表示の後に、拡張属性があるファイル/ディレクトリに「@」が表示されるようになっています。
リソースフォークやファイルタイプ/クリエータ情報がある項目の他、Time Machineのバックアップ先のファイルにも拡張属性が付けられているようです。ちなみに、ls -l に加えて -@オプションをつけると、拡張属性の種類が表示されます。拡張属性の中身を見るには、xattr -l コマンド。

また、ACL(アクセス制御リスト)情報のあるフォルダには「+」がつきます。こちらはls -le で内容を表示できます。

以下、具体例。

% ls -l@
...
-rw-r--r-- @  1 NeoCat  NeoCat    4385  6 25 00:50 .zshrc
drwx------@  13 NeoCat  NeoCat     442  5  1  2007 AppleScript
	com.apple.FinderInfo	    32 
drwxr-x---@ 138 NeoCat  NeoCat    4692 11 17 01:54 Applications
	com.apple.FinderInfo	    32 
drwxr-xr-x+   6 NeoCat  NeoCat     204 11 17 01:54 Desktop
drwx------@  49 NeoCat  NeoCat    1666 11 11 21:27 Documents
	com.apple.FinderInfo	    32 
drwx------+   5 NeoCat  NeoCat     170 11 17 00:34 Downloads
...

% ls -le
drwx------@  13 NeoCat  NeoCat   442  5  1  2007 AppleScript
drwxr-x---@ 138 NeoCat  NeoCat  4692 11 17 01:54 Applications
drwxr-xr-x+   6 NeoCat  NeoCat   204 11 17 01:54 Desktop
 0: group:everyone deny delete
drwx------@  49 NeoCat  NeoCat  1666 11 11 21:27 Documents
 0: group:everyone deny delete
drwx------+   5 NeoCat  NeoCat   170 11 17 00:34 Downloads
 0: group:everyone deny delete
...

拡張属性の中身を見るには、xattr -l ファイル名 とします。
% xattr -l Documents

com.apple.FinderInfo:
0000   00 2F 00 0D 01 09 01 A1 03 E0 00 36 02 21 01 0C    ./.........6.!..
0010   01 2C FF D5 C3 40 00 00 00 00 00 00 00 00 00 00    .,...@..........

ちなみにTime Machineでバックアップされた先のDocumentsはこんな感じに。

% xattr -l /Volumes/TIMEMACHIME/Users/NeoCat/Documents 
com.apple.FinderInfo:
0000   00 2F 00 0D 01 09 01 A1 03 E0 00 36 02 21 01 0C    ./.........6.!..
0010   01 2C FF D5 C3 40 00 00 00 00 00 00 00 00 00 00    .,...@..........

com.apple.metadata:_kTimeMachineNewestSnapshot:
0000   62 70 6C 69 73 74 30 30 33 41 A9 CE 12 D2 00 00    bplist003A......
0010   00 08 00 00 00 00 00 00 01 01 00 00 00 00 00 00    ................
0020   00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0030   00 11                                              ..

com.apple.metadata:_kTimeMachineOldestSnapshot:
0000   62 70 6C 69 73 74 30 30 33 41 A9 CC 2D 02 00 00    bplist003A..-...
0010   00 08 00 00 00 00 00 00 01 01 00 00 00 00 00 00    ................
0020   00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0030   00 11                                              ..

ふむ?
また、Spotlightのメタデータも拡張属性になる模様。くわしくは id:hetima:20071031:1193823628 あたりを参照。

http://www.nabble.com/Leopard's-ls-t4778696.htmlによると、GetFileInfoなんてコマンドもあるんですね。

% GetFileInfo .zshrc_by_host
file: "/Users/NeoCat/.zshrc_by_host"
type: "TEXT"
creator: "MMKE"
attributes: avbstclinmedz (←意味はman参照)
created: 12/09/2006 02:16:29
modified: 11/13/2007 07:28:39

ふむ。便利かも。