Назад | Перейти на главную страницу

Как просмотреть скрытые файлы с помощью команды Linux `find`

На сервере Linux мне нужно найти все файлы с определенным расширением в текущем каталоге и во всех подкаталогах.

Раньше я всегда использовал следующую команду:

find . -type f | grep -i *.php

тем не мение, не находит скрытые файлы, например .myhiddenphpfile.php. Следующее находит скрытые файлы php, но не скрытые:

find . -type f | grep -i \.*.php

Как я могу найти скрытые и не скрытые файлы php в одной команде?

...

find . -type f -name '*.php'

Лучше использовать iname (без учета регистра).

Я использую эту команду поиска для поиска скрытых файлов:

find /path -type f -iname ".*" -ls

Извлечен из: http://www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html

Проблема в grep, а не в поиске (попробуйте просто find . -type f чтобы понять, что я имею в виду).

Если вы не процитируете * тогда оболочка расширит его - прежде чем grep увидит аргументы командной строки; поскольку оболочка по умолчанию не находит скрытые файлы, у вас возникнут проблемы.

Причина этого только обнаружение скрытого файла связано с тем, что оболочка уже расширила * и поэтому grep соответствует только этому одному файлу.