在 bash 中链接多个 chflags

Chain multiple chflags in bash

是否可以在 bash 中的同一命令中使用多个 chflags

$ ls -lO
total 2456
-rw-r--r--@ 1 Ned  staff  hidden         1236497 Jul 14 23:52 chart.png
-rw-r--r--@ 1 Ned  staff  schg,hidden       9056 Jul 14 23:52 data.db
-rw-r--r--@ 1 Ned  staff  hidden              39 Jul 28 02:11 info.txt
-rw-r--r--@ 1 Ned  staff  hidden            1681 Jul 17 14:06 notes.md

运行 下面的命令似乎没有效果:

$ sudo find . -type f \( -flags schg -flags hidden \) -exec -R chflags nohidden -exec -R chflags noschg {} \;

您是否正在寻找这个:

chflags nohidden,noschg <file>

?

嗯,这就是命令的形式。您列出要用逗号分隔的标志更改。

根据文档,您无法在正常启动时删除 schg。据推测,schg 只能在单用户模式下删除。然而,它在实践中似乎工作得很好。