macOS 中 terminal ls 出的文件带 @ 是什么意思

在macOS中,ls命令列出的带@符号的文件表示该文件具有附加属性,如Finder中的tag。这些属性可以通过xattr命令查看、添加、删除。例如,`xattr -l`可以显示属性名和值,`xattr -c`可清除所有属性,`xattr -w`用于添加属性,`xattr -d`则用于删除属性。附加属性常包括用户标签和软件的元信息。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月ooOO

许个愿,我帮你实现

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值