相关疑难解决方法(0)

如何掌握 UNIX find 命令?

我认为我在使用 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 会放弃交叉分区,但我不确定位于作为符号链接的目录中的文件会发生什么。

那么如何掌握这种可以杀死关键文件的野兽呢?

更新修剪下面的最佳建议并总结:

  1. 将练习目录链接并挂载到其他练习目录。
  2. 使用 xargs 而不是非直观的 exec 命令。
  3. 使用 -exec echo {} 来保证完整性和安全性
  4. 分号是特殊的,您正在转义它,因此转义字符是第一个
  5. -or 命令可以帮助您组合选择条件。

我对 print0 有点困惑,但 xargs 一直有点在我试图避免的乍一看不容易理解的练习上。

unix command-line-interface find

12
推荐指数
1
解决办法
7785
查看次数

标签 统计

command-line-interface ×1

find ×1

unix ×1