Как найти все файлы с одинаковым расширением в каталоге

Я хочу искать все .conf файлы в /etc/.

Я пытался grep -r *.conf /etc, но результат неправильный.

Что я делаю не так?

Просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните приведенную ниже команду:

find . -type f -name "*.txt"

При этом будут перечислены все файлы с расширением .txt.

То . в начале обозначает текущий каталог. find выполняет рекурсивный поиск во всех каталогах ниже заданного пути. Если вы хотите, чтобы поиск начинался где-то, кроме текущего рабочего каталога, укажите путь, например:

find /etc -type f -name "*.conf"

Это позволяет выполнить поиск в /etc каталог и все его подкаталоги для обычных файлов с .conf расширение.

grep ищет в содержание файлов, а не имен файлов.

Чтобы найти все .conf файлы в /etc/ вы захотите найти:

find /etc -name "*.conf"

Я бы лично использовал find, но вы тоже можете использовать глобус для этих вещей:

shopt -s globstarls /etc/{,**/}*.conf

И вы можете использовать locate, и это быстро, но ненадежно.

locate '/etc/**.conf'

Команда поиска выполняется медленно, использование этой команды немедленно даст вам результат:

locate "/etc/*.conf"

Более подробная информация о locate команда (в mlocate пакет) можно найти здесь: https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab

Вернет все файлы и папки, заканчивающиеся на .conf:

ls -lR /etc | grep ".conf$";

Чтобы найти только файлы: найдите /etc -введите f -name '*.conf'