macOS 中 terminal ls 出的文件带 @ 是什么意思
macOS 中使用终端 ls
列出的文件中有一些文件会带有 @
符号,一直不知道具体表示什么意思
今天查了下,这个 @
符号是 macOS 系统独有的,表示文件带有一些附加的信息,比如你在 Finder
中给文件添加的 tag
就属于此类。
看下面这个例子, website.txt
在 finder 中是添加了 tag
的,所以它后面会有 @
符号。
Kyle@Kyles-MBP attr test % ll
total 16
-rw-r--r-- 1 Kyle staff 0 Apr 8 09:04 README.md
-rw-r--r-- 1 Kyle staff 1008 Apr 8 09:05 kyle-file.txt
-rw-r--r--@ 1 Kyle staff 526 Apr 8 09:06 website.txt
一、查看文件的附加属性
1. 查看属性名
可以通过 xattr
来查看对应信息,其添加的附加属性信息都是以键值对形式存储的,就是说有 属性名
和 属性值
直接 xattr 文件
的形式可以查看文件上所有的 属性名
,可以看到下面这个文件有两个属性名
Kyle@Kyles-MBP attr test % xattr website.txt
com.apple.FinderInfo
com.apple.metadata:_kMDItemUserTags
2. 查看属性名和值
通过添加 -l
参数 xattr -l 文件
,可以查看 属性名 + 属性值
Kyle@Kyles-MBP attr test % xattr -l website.txt
com.apple.FinderInfo:
00000000 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 |................|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020
com.apple.metadata:_kMDItemUserTags:
00000000 62 70 6C 69 73 74 30 30 A1 01 5A 50 65 72 73 6F |bplist00..ZPerso|
00000010 6E 61 6C 0A 32 08 0A 00 00 00 00 00 00 01 01 00 |nal.2...........|
00000020 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 15 |.......|
00000037
3. 列文件时显示附加属性名
在 ls 文件的时候,也可以通过添加参数来查看文件的附加属性名 ls -l@
Kyle@Kyles-MBP attr test % ls -l@
total 16
-rw-r--r-- 1 Kyle staff 0 Apr 8 09:04 README.md
-rw-r--r-- 1 Kyle staff 1008 Apr 8 09:05 kyle-file.txt
-rw-r--r--@ 1 Kyle staff 526 Apr 8 09:06 website.txt
com.apple.FinderInfo 32
com.apple.metadata:_kMDItemUserTags 55
二、编辑查看相应的信息
使用 xattr
命令来操作文件的 附加属性
- -c 清除所有附加属性信息
- -w 添加某个附加属性信息
- -d 删除某个附加属性信息
- -p 显示某个附加属性的值
Kyle@Kyles-MBP attr test % xattr -p com.apple.FinderInfo website.txt
00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
其它具体的操作说明可以查看说明手册,输入 man xattr
查看
说一些常用的
# 删除某个文件所有附加属性
xattr -c 文件名
# 删除当前文件夹下所有文件的附加属性值
xattr -c *
# 删除当前文件夹下所有文件的附加属性值,包含子文件夹的所有文件
xattr -cr *
三、一般常见的一些属性
所有这些带 @
符号的文件,含有附加属性的文件,最常见的就是我们常用的 tag 标记,我知道的还有解压软件 The Unarchiver
解压出的文件也会带有它自己的附加属性值。
应用商店下载的软件也会有附加信息:
Kyle@Kyles-MBP /Applications % xattr -l EasyRes.app
com.apple.appstore.store_cohort: 7|date=1571481000000&sf=143465&pgtp=Search&pgid=d466721e-b8d6-42d8-aba2-e823828faa8c&ctxt=Search&issrch=1
com.apple.appstore.storefront: 143465
com.apple.appstore.vendor_name: Chris Miles