所以我在我的网络主机的主文件夹中,尝试使用find
.我找不到它 - 它被列为没有这样的文件或目录 - 我想它可能不在任何地方。
但是以下命令也不起作用:
find index.php
这是错误的,因为它们的数量不计其数。为什么查找不起作用?有没有更好的命令可以使用?
答案1
的语法find
与您编写的不同,请阅读手册页man find
以获取详细信息。
例如,如果您想查找index.php
当前目录及其下所有子目录中指定的文件,您可以使用:
find . -name index.php -type f
如果您想搜索名称为findex.php
,的文件index.phpfoo
,index.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