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