【问题标题】:Find command not working as expected in centOS在 centOS 中查找命令未按预期工作
【发布时间】:2015-02-14 14:20:24
【问题描述】:

我在虚拟机上使用 CentOS Linux 版本 7.0.1406。我正在尝试使用 find 命令查找文件。

这个查找命令没有给出任何响应:

find . -name "orm.properties"

我当前的工作目录是/eserver6。文件orm.properties 存在于/eserver6/share/system/config/cluster 中,但find 命令无法找到该文件。

我尝试过其他组合,例如

find . -name "orm.*"
find . -name 'orm*'

这是发现很少有以 orm 开头的文件,但不是当前工作目录中存在的所有文件。

【问题讨论】:

  • 注意 find . 将从您的当前目录开始。你在哪里? pwd 知道。你也可以试试find /eserver6/share/system/config/cluster -name "orm.properties"。还要确保您没有任何别名表明min/maxdepth
  • 我在正确的工作目录中。我在具有软链接共享的 eserver6 目录中 -> /var/opt/eserver6/share 这个软链接位置包含 orm.properties。是因为软链接吗?

标签: linux unix centos find redhat


【解决方案1】:

命令行看起来是正确的,它应该可以找到该文件。可能失败的一些原因:

  1. 您无权进入/eserver6/share/system/config/cluster 路径中的文件夹之一。
  2. 你打错字了
  3. 文件系统是远程的,远程文件系统行为异常
  4. 路径中某处有一个 simlink。默认情况下,find 不遵循符号链接以避免递归循环。使用find /eserver6 -L ... 告诉find 查看链接的目标,如果它是文件夹,则跟随它。

命令

find /eserver6 -name "orm.properties"

无论您身在何处,都应该找到该文件。如果没有,请查看手册页中的-D debugoptions。您可能希望-D stat 查看find 查看哪些文件以及看到的内容。

【讨论】:

  • 另一种可能性:该路径中的一个目录是符号链接,在这种情况下“查找”将需要 -L 选项。
  • 我在正确的工作目录中。我在具有软链接共享的 eserver6 目录中 -> /var/opt/eserver6/share 这个软链接位置包含 orm.properties。是因为软链接吗?
  • @Vivek:是的。默认情况下,find 不遵循符号链接以避免递归循环。使用find /eserver6 -L ...
【解决方案2】:

如果您的用户已进入sudoers 文件,则可以,您可以运行

sudo find / -name "orm.properties"

或者请您的管理员在您的用户的sudoers 文件中输入一个条目并运行相同的命令,然后它将起作用。

【讨论】:

  • 这可能需要很长时间才能运行
  • @fedorqui no sir 如果他不知道该文件的确切位置,那么他必须通过这个,如果他知道该文件的确切位置,那么就没有找到已知文件的场景通过find 命令定位
猜你喜欢
  • 2015-06-24
  • 1970-01-01
  • 2018-09-16
  • 2021-11-25
  • 2020-05-23
  • 2016-09-29
  • 2019-10-31
  • 1970-01-01
相关资源
最近更新 更多