简单命令“查找”不起作用

Oli*_*ams 5 find

所以我在我的网络主机的主文件夹中,尝试使用find. 我找不到它 - 它被列为没有这样的文件或目录 - 我想它可能不在任何地方。

但是,以下命令也不起作用:

find index.php
Run Code Online (Sandbox Code Playgroud)

这是错误的,因为它们有无数。为什么 find 不起作用?有没有更好的命令可以使用?

hee*_*ayl 14

的语法与find您所写的不一样,请阅读手册页man find以获取详细信息。

例如,如果要查找index.php在当前目录及其下的所有子目录中命名的文件,可以使用:

find . -name index.php -type f 
Run Code Online (Sandbox Code Playgroud)

如果你想搜索具有名称的文件说findex.phpindex.phpfooindex.php你需要使用:

find . -name '*index.php*' -type f 
Run Code Online (Sandbox Code Playgroud)

* 是一个 glob 模式,表示零个或多个字符。

另一方面,如果您只想查看当前目录:

find . -maxdepth 1 -name '*index.php*' -type f 
Run Code Online (Sandbox Code Playgroud)

  • @OrtomalaLokni 仅列出当前目录中的 `index.php`(如果存在),它不会在子目录中查找。 (3认同)

pbh*_*bhj 11

我在使用 findutils 4.7.0-git 中的 find 时遇到了同样的问题。如果我这样做,find . -maxdepth 12 -name '*' -type f尽管在下面的树中有一百万个文件,除了当前目录中的文件外,不会返回任何文件。我的问题是下面的目录是链接,所以我需要做:

find -L . -maxdepth 12 -name '*' -type f
Run Code Online (Sandbox Code Playgroud)

-L确保任何链接后跟(曾经是--follow但是这是不推荐)。