💨

MacOSでlsコマンド実行時に%表示された件

2021/03/18に公開

macOS(Bug Sur 11.2.3)でWindows10とファイル転送していたところ、ファイル・ディレクトリに「@」表記が追加されていることに気が付きました。

$ ls -l
total 184
-rw-r--r--@  1 unokun  staff   5301  3 17 14:40 absence.html
drwxr-xr-x@ 19 unokun  staff    608  3 17 13:39 img

ファイルパーミッション右側の@(アットマーク) – MT Systems
によると、これは拡張属性(Extended Attribute)が付いていることを表すようです。

lsコマンドにオプション-l@を追加すると拡張属性の詳細が表示されます。

$ ls -l@ absence.html
-rw-r--r--@ 1 unokun  staff  5301  3 17 14:40 absence.html
	com.apple.quarantine	  57

拡張属性はxattrコマンドで表示できます。
オプション(-l)を追加すると詳細が表示されます。

$ xattr absence.html
com.apple.quarantine
$ xattr -l absence.html
com.apple.quarantine: 0081;604f0d3d;Chrome;FCE28C78-DB76-4D69-82C0-4DBFDADAAE41

オプション(-d)をつけてxattrコマンドを実行すると拡張属性は削除できます。

$ xattr -d com.apple.quarantine absence.html
$ ls -l absence.html
-rw-r--r--  1 unokun  staff  5301  3 17 14:40 absence.html

ファイルダウンロード(Windows10とファイル共有)したため、拡張属性が追加されたのかもしれない。
Google Chromeがつけたのかなぁ?
ファイル(sh)によっては動かなくなることもあるようなので覚えておこう。

参考

考える日常: メモ:com.apple.quarantine 拡張属性

Discussion