macos系统的ls -l(或者ll)命令输出第一列会出现@符号,而linux系统则不会。平时稍微留意了一下,带有@符号的多是从互联网上下载的文件,因此猜测可能是安全属性标志。

今天man ls查看了详细说明,发现情况并不止安全属性,而是标志文件(夹)有拓展属性。详细的拓展属性信息可以用ls-l@选项,或者xattr查看:

清除@符号等价于清除拓展属性,有两种方式可以做到:

  • xattr -d 属性名 文件路径:清除指定属性,需一个个清除;
  • xattr -c 文件路径:清除所有属性

如果只是想移除烦人的@符号,当然是用xattr -c

修改属性用xattr -w,详情和其他选项请参考man xattr

PS:

ls输出中出现的”+”符号表示安全属性,即文件(夹)出现在acl列表中。