Mac OS X

ファイルパーミッション右側の@(アットマーク)

FirefoxのアドオンFireFTPを利用してダウンロードしたファイルを、lsコマンドで表示するとファイルパーミッションの右側に「@」が表示されていました。

これまで気にしていなかったのですが、 「.htaccess」ファイルをFireFTP上からCotEditorで開こうとすると、上記ダイアログが表示され編集できません。

lsコマンドでファイル情報を表示すると次のように表示されました。

-rw-r--r--@ 1 haya  staff  116 11  8 10:19 .htaccess

この「@」は「拡張属性(Extended Attribute)」が付加されていることを表し、UnixではなくMacのファイルシステムであるHFSに追加されている情報、なのだとか。

Macはもともと独自のOSで、ファイルデータはファイルの中身である「データフォーク」と、アイコン情報が格納された「リソースフォーク」の2種類ありました。拡張属性はその概念とは異なる、ファイルに関する情報を格納する仕様のようですが、今は時間が足りないので詳細は後日調べてみようかと思います。

拡張属性に関する操作は「xattr」コマンドを利用し、次のように拡張属性の内容が確認できます。

$ xattr .htaccess
com.apple.TextEncoding

別のダウンロードファイルの例です。

$ xattr date.php
com.apple.quarantine

quarantineを調べると意味は「検疫、隔離」ということで、インターネットからダウンロードされたファイルに対する防御のための属性なのでしょうか?

この拡張属性はxattrコマンドに-dオプションを指定して削除ができます。

$ xattr -d date.php

Finderで不可視属性「.」のついたファイルを表示したい

実は拡張属性の話より、こちらを解決したかったのです。

どうやらdefaultsコマンドで設定を変更し、Finderを起動し直しすればOKのようです。

$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder

試したところ、うまくいきました。元に戻すにはAppleShowAllFilesをFALSEに設定します。

で、FireFTPからのCotEditorオープンはどうなった?

さて、FireFTPから.htaccessを指定して開いてみると、エラーダイアログが表示されずに編集画面が開くようになりました。

そこで、xattrコマンドで属性が変更されたか確認したところ、変わりありませんでした。

う〜ん、まだ理解が及ばない部分があるようです。後日また機会があれば調べてみようかと思います。

記事とは関係ありませんが、現在利用しているMac miniの情報です。

もうそろそろ5年になります。そろそろ新しいMac mini出してください > Appleさん