Mac の ls -l でアットマーク @ が付いているファイルがあった : Extended Attributes と xattr コマンド
Mac で ls -l
してファイルを見ていた時に、何やらパーミッションの後ろにアットマーク記号 @
が付いたファイルがあることに気が付いた。
$ ls -l
-rw------- 1 Neo staff 17809 1 9 15:54 my-file-1.md
-rw-------@ 1 Neo staff 25246 1 16 10:14 my-file-2.md
調べてみると、コレは Extended Attributes (EA) 拡張ファイル属性というモノらしい。メタ情報の一つだそうだ。
どんなメタ情報が付いているのかは ls -l@
と叩くと確認できる。
ls -l@
-rw------- 1 Neo staff 17809 1 9 15:54 my-file-1.md
-rw-------@ 1 Neo staff 25246 1 16 10:14 my-file-2.md
com.apple.lastuseddate#PS 16
さらに、xattr
コマンドでファイルを指定しても取得できる。
$ xattr my-file-2.md
com.apple.lastuseddate#PS
今回のファイルの場合は、com.apple.lastuseddate#PS
とかいう属性が付いていた。
- 参考 : ファイルの権限を変更できない。Googleドライブのシンボリックリンクが原因でした - suzu6 … 「ディスクスペース解放のためのものらしい」とのこと?
- 参考 : 「最近使った項目」(Finder - … - Apple コミュニティ … Finder の「最近使った項目」に関するもの?
とりあえず大したメタ情報ではないと分かったが、一応消し方も。$ xattr -d 【削除したい属性名】 【ファイル名】
と叩けば消せる。
# 消してみる
$ xattr -d com.apple.lastuseddate#PS my-file-2.md
# 「@」マークが消えた。
$ ls -l@
-rw------- 1 Neo staff 17809 1 9 15:54 my-file-1.md
-rw------- 1 Neo staff 25246 1 16 10:14 my-file-2.md
謎だけど特に気にしないでおこう。気になったら xattr -d
で消しちゃおう。