Macの隠し属性つきファイル

Macでターミナルを開いて”ls -l”とかすると、
ファイルのパーミッションのに’@’がついていたりします。
これはExtended Attributesと言うものだそうで、
標準UNIXでは定義されていない拡張属性がファイルに与えられていることを意味するようです。
そういう時は、”ls -l@”すると与えられているのがどんな拡張属性なのかがわかります。
で、それら拡張属性は”xattr”で制御でき、
com.apple.FinderInfo属性つきのファイルBaseSystem.dmgからその属性を削除するには

$ xattr -d com.apple.FinderInfo BaseSystem.dmg

とすればいいのです。
実はこうするとFinderで表示されなかったファイルが見えるようになるのです。
どうもcom.apple.FinderInfo属性内にFinderでの非表示を指定する情報が入っているみたいで、
これを丸ごと消すことでFinderで見えるようになるっぽいです。

で、Finderで見えないファイルをとりあえず全部見えるようにするには

$ defaults write com.apple.finder AppleShowAllFiles -boolean true
$ killall Finder

を実行すればいいようです。
ただし、デスクトップ上に邪魔なアイコンも出てきて鬱陶しいので、
用が済んだら以下でまた隠してしまったほうがいいでしょう。

$ defaults write com.apple.finder AppleShowAllFiles -boolean false
$ killall Finder

過去Windowsでシステムファイルも隠しファイルも全部見えるようにして使っていて
特に不都合を感じることもなかったのですが、
Macの場合は全部見えるのはちょっと困り者なんですね。