首先直接在终端中输入chflags,可以看到它出现了chflags命令的使用格式:
第一个参数(可选)
-f 即使chflags无法修改此文件的标志,也不显示错误/诊断信息。
-h 如果该文件是一个symbolic link(符号链接,macOS下叫做“替身”),那么仅仅修改符号链接自身,而不去修改它指向的文件。
-v 在执行操作后显示被操作的文件名
第二个参数(可选)
-R 将指定的文件/目录作为根,递归处理。在对整个文件夹操作时需要附带。
在指定-R参数后还可以附加指定下列参数:
-H 跟随命令行中的符号链接,但是不跟随目录树遍历过程中的符号链接。
-L 跟随所有的符号链接。
-P 不跟随所有的符号链接。
第三个参数(必须)
文件标志,共有以下9种:
arch/archived
必须使用sudo或 root账户
归档标志。貌似没什么用?
百度百科就一句话:归档标志是让计算机能够识别该收文有没有经过归档处理的标记。
不过貌似在拷贝文件到switch上时要对SD卡执行一次。
opaque
不透明标志。貌似没什么用?
帮助页面的原话是Directory is opaque when viewed through a union mount.
我是没看懂这啥意思,我分别尝试了给一个目录和一个文本加了此标志,感觉不出任何区别,无论是GUI还是命令行。
nodump
禁止备份标志。在mac上我猜是给时间机器用的。
日常使用下,GUI和命令行无变化。
sappnd/sappend
必须使用sudo或 root账户
使得文件只能以附加的方式修改。
在GUI中表现为文件被锁定且无法解锁,提示“您不是该文件的所有者”。
非root用户重命名和删除时系统提示需要验证身份,但是验证之后依然无法进行操作,提示没有权限。
简介中文件所有者显示为“系统”。
在命令行中使用ls -l查看权限无变化,无法使用>写入文件,但是可以使用>>将内容附加在文件最后。
uappnd/uappend
功能同sappnd。但可以不以root身份执行。
使得文件只能以附加的方式修改。
在GUI中表现为文件被锁定,尝试修改时提示解锁,但解锁会失败。
非root用户重命名和删除时系统提示需要验证身份,但是验证之后依然无法进行操作,提示没有权限。
简介中无变化。
在命令行中使用ls -l查看权限无变化,无法使用>写入文件,但是可以使用>>将内容附加在文件最后。
schg/schange/simmutable
必须使用sudo或 root账户
完全锁死文件。
在GUI中表现为文件被锁定且无法解锁,无提示。
无法重命名文件也无法删除,即使是使用sudo或root账户也不行。
简介中没有异常,文件所有者为用户自身,但是无法更改任何权限。
命令行中权限无变化。无法使用>和>>操作文件。
uchg/uchange/uimmutable
功能同schg,但可以不以root身份执行。
完全锁死文件。
在GUI中表现为文件被锁定,但是可以解锁。
无法重命名文件,但是可以删除。删除前会有提示,无需验证身份。
简介中没有异常,文件所有者为用户自身,但是无法更改任何权限。
命令行中权限无变化。无法使用>和>>操作文件。
hidden
最为人所熟知的参数,相信只要用macOS一段时间的用户都会,不细说了。
sunlink
必须使用sudo或 root账户
禁止删除文件,禁止重命名文件。(root用户不受限制)
无法移动文件,只能复制,而且复制后的文件有着同样的标记。
但是可以随意编辑文件内容。
以上所有的参数,均可以在前面加上no来撤销(如nohidden,nodump是去掉no)
第四个参数
文件/文件夹路径。
转载至:https://www.songbingjia.com/jingpin/show-97905.html