Mac OSの ls -l に現れる "@" の謎
Mac OSでは、ls -l に謎の "@" が現れることがあって気持ち悪かった:
% ls -l '/Users/takesi/Movies/opening flip.mov' -rw-r--r--@ 1 takesi takesi 445493 Mar 20 06:06 /Users/takesi/Movies/opening flip.mov
man ls しても Appleは教えてくれない。 他にやることもあって忙しかったので、さっそく調べてみた。
結論から書くと、これは
Exntended File Attributesの存在をあらわしてるのだった。
どんな属性がついているかは、-@
というこれまた
隠しオプションで見ることができる:
% ls -l@ '/Users/takesi/Movies/opening flip.mov' -rw-r--r--@ 1 takesi takesi 445493 Mar 20 06:06 /Users/takesi/Movies/opening flip.mov com.apple.ResourceFork 286
ここら辺のことは、Darwinの file_cmdsから lsの ソースを見て発見しました。 printlong 関数あたりを見てみると linkxattr(2) を呼び出してるのが見えます。
ただ、Extended file attributesだということがわかっても、 それがどういう風に使われるのかまったくよく分かってないんですが。 少なくとも HFS+ の拡張機能だと分かっただけで、糞Jobs がつけた はんかくさい機能かと安心することができます。
と、ここまで書いてさっさと忘れて仕事に戻ります。おしまい。
| 固定リンク
この記事へのコメントは終了しました。
コメント