macOS 探尋檔案擴充套件屬性

Wi1dcard發表於2019-06-20

過程

今天用 ll 命令偶然觀察到一個細節,某些檔案(夾)屬性後面帶有 @ 字元:

$ ll
total 104
-rw-r--r--@  1 user  staff     0B  7 25 18:56 Icon?
...
drwx------@ 15 user  staff   480B  8 29 13:43 renren

經過谷歌一番,原來這代表檔案含有 擴充套件屬性

使用 ll -@ 可以檢視詳細的屬性資訊。

total 104
-rw-r--r--@  1 jootu  staff     0B  7 25 18:56 Icon?
        com.apple.FinderInfo      32B
        com.apple.ResourceFork    50K
...
drwx------@ 15 user  staff   480B  8 29 13:43 renren
        com.apple.quarantine      57B

對於強迫症來說,如何去除擴充套件屬性顯得尤為重要,尤其是不能容忍在一批同作用的檔案裡有那麼幾個「特殊的傢伙」?。

當然,在去除擴充套件屬性之前,先要確定這個屬性的用途。如上,Icon? 是系統檔案,我沒有修改;而 renren 是從網上下載解壓的一個資料夾,應該沒什麼貓膩才對。

再次谷歌,得知 com.apple.quarantine 是系統自動新增的;像在 macOS 開啟下載的檔案時,經常會提示「這是從網際網路下載的檔案」云云,便是這個屬性的作用。當使用者確認之後,這個屬性便會被取消。

當然我們也可以手動移除它,使用 xattr 命令即可。

xattr -d com.apple.quarantine

完。

參考

本作品採用《CC 協議》,轉載必須註明作者和本文連結

Former WinForm and PHP Engineer. Now focus on #DevSecOps and global networking.

相關文章