Найти во всех подкаталогах

У меня есть каталог со многими подкаталогами, я хочу найти файл в этих каталогах, поэтому я использую эту команду:

find ./ -name test.php

но эта команда поиска только в каталоге верхнего уровня,

Как я могу искать во всех подкаталогах тоже?

3 ответа

Решение

Команда, которую вы использовали, будет искать в каталогах (включая все подкаталоги) файлы с именами test.php,

Он будет искать в подкаталогах, если у вас есть необходимые права.

Однако вы можете изменить -name в -iname так что вы можете найти файлы независимо от случая. (например, также найти Test.php, test.PHP или же teSt.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,

Тоже холодно попробуй

ls -lR | grep test.php

Это должно работать. Имеет ли ваш пользователь привилегии для записи и чтения вложенных каталогов и файла, который вы хотите?

Другие вопросы по тегам