MacはGUIが秀逸なのは今更言うことじゃないけど、ターミナル(Windowならコマンドプロンプト)からも操作できるところがイイ。だが、ネットで調べないとよくわからないこともたくさんあるというマイナス面も出てくる。
今回、ダウンロードしてきたファイルの属性を見たら、ファイルのパーミッションが不足していたことが原因だったんだけど、それとともに @ という見慣れないものがあり、ちと調べてみた。
MC723JA:XML user$ ls -l
total 48
-rw——-@ 1 user staff 21248 10 25 2010 Parser.php
この @ は、Extended Attributes で 元ファイル名の先頭にドットとアンダーバーが着いた別ファイル「._元のファイル名」で管理される付加情報ってことらしい。
簡単に確認するには、ls コマンドのオプションに@を使えばいい。
MC723JA:XML user$ ls -l@
total 48
-rw——-@ 1 user staff 21248 10 25 2010 Parser.php
com.apple.quarantine 2
より詳細にしらべるには、 xattrコマンドがある。
MC723JA:XML user$ xattr -l Parser.php
com.apple.quarantine: 46
このxattrは このEA の追加削除も行えるので、xattr にdオプションと属性名を指定すれば、属性を削除できる。
MC723JA:XML user$ xattr -d com.apple.quarantine Parser.php
MC723JA:XML user$ ls -l@
total 48
-rw——- 1 user staff 21248 10 25 2010 Parser.php
追記:情報元は、OS X ハッキング!の253 Leopard解体新書(4) ~拡張された拡張属性~。
HFS Plus内ではそのファイルシステムに内包されるために目にすることは無いが、FAT32などのUSBメモリにファイルをコピーするとこのファイルが生成されることが確認できる。