在所有子目录中查找

在所有子目录中查找

我有一个包含许多子目录的目录,我想在此目录中查找文件,因此我使用以下命令:

find ./ -name test.php

但此命令仅在顶层目录中搜索,

我怎样才能在所有子目录中进行搜索?

答案1

您使用的命令将在目录(包括所有子目录)中搜索名为的文件test.php

将要搜索子目录,假设您拥有所需的权限。

但是,您可能想要更改-name-iname,以便无论大小写都可以找到文件。(例如,还可以找到Test.phptest.PHPteSt.phP

您可能还想添加-ls-print。找到后打印文件位置是许多“查找”的默认设置,但明确执行此操作是个好习惯。

例子:

mkdir footest1
cd footest1
touch test.php
touch TesT.pHp
cd ..

find ./ -name test.php -print
./footest1/test.php

find ./ -iname test.php -print
./footest1/test.php
./footest1/TesT.pHp

如果您要将 find 的输出提供给另一个程序,那么请考虑-print0

答案2

这应该可行。您的用户是否有权进入并读取子目录和您想要的文件?

答案3

你也可以尝试

ls -lR | grep test.php

相关内容