Syntax Error.

[Sy] Macのパーミッションにある@(アットマーク)の正体と消す方法

2015/06/25

Mac上で、ダウンロードしたファイルをターミナルからls -alコマンド等で確認すると、パーミッションのところに@が付いてます。

これをそのままにした状態だと、うまく動かない場合があったりするので消したい!と思うことが多々ありますが、すぐ忘れちゃうのでメモ。

まずは、問題の@がどんな感じで確認できるかというと、

$ ls -al
total 6404
drwx------+ 16 utano320  staff        544  6 25 19:59 .
drwxr-xr-x+ 78 utano320  staff       2652  6 25 20:00 ..
-rw-r-----@  1 utano320  staff       3208  6 25 19:59 download.gif

みたいな感じ。

そもそもこいつは、Extended Attributesというものらしい。拡張属性ってことですね。

いくつか種類があるみたいですが、ls -l@とするとそのファイルに付いてる属性が確認できるとのこと。例えば先のどのファイルの場合、

$ ls -l@ download.gif
-rw-r-----@ 1 utano320  staff  3208  6 25 19:59 download.gif
    com.apple.metadata:kMDItemWhereFroms     170
    com.apple.quarantine      68

と表示されました。2つ付いてますね。

Extended Attributesを削除する方法

こいつの削除の方法ですが、以下のようにxattr -d [削除したい属性] [ファイル名]とすると消えます。

$ xattr -d com.apple.metadata:kMDItemWhereFroms download.gif
$ xattr -d com.apple.quarantine download.gif

確認。

$ ls -l@ download.gif
-rw-r-----  1 utano320  staff  3208  6 25 19:59 download.gif

消えました!