我认为我在使用 find 方面相当先进,但每次使用它时,我终生都无法记住关闭 -exec 选项的方法。每次使用它时,我都会花大量时间阅读。是我不够用还是对自己期望过高?让我们从一个让我感到沮丧的典型例子开始。
目录结构包含所有权限不正确的文件隐藏文件符号链接等。我想将所有权更改为合理的值
find . -type f -exec chown username {} \;
find . -type d -exec chown username {} \;
find . -type d -exec chgrp usergroup {} \;
find . -type f -exec chgrp usergroup {} \;
Run Code Online (Sandbox Code Playgroud)
(如果结局是倒退的话,请原谅我……我一小时前看过它,但我仍然不确定)
但是由于挂载、符号链接等原因,我害怕运行它。我已经把 chmod .* 搞得一团糟,并且以前在我身上递归过。我知道 -xdev 会放弃交叉分区,但我不确定位于作为符号链接的目录中的文件会发生什么。
那么如何掌握这种可以杀死关键文件的野兽呢?
更新修剪下面的最佳建议并总结:
我对 print0 有点困惑,但 xargs 一直有点在我试图避免的乍一看不容易理解的练习上。