过程
今天用 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
完。