Найти во всех подкаталогах
У меня есть каталог со многими подкаталогами, я хочу найти файл в этих каталогах, поэтому я использую эту команду:
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,
Это должно работать. Имеет ли ваш пользователь привилегии для записи и чтения вложенных каталогов и файла, который вы хотите?