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

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

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

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

find index.php

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

答案1

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

例如,如果您想查找index.php当前目录及其下所有子目录中指定的文件,您可以使用:

find . -name index.php -type f 

如果您想搜索名称为findex.php,的文件index.phpfooindex.php您需要使用:

find . -name '*index.php*' -type f 

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

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

find . -maxdepth 1 -name '*index.php*' -type f 

答案2

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

find -L . -maxdepth 12 -name '*' -type f

确保-L任何链接被关注(曾经是 --follow 但已被弃用)。

答案3

查看find的管理。有多种用法。例如:查找.| grep "Index.php" 或 find . -名称 Xyz.php

相关内容