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

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

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

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

63
задан 3 October 2018 в 22:49

4 ответа

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

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

Это будет список всех файлов с расширением .txt.

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

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

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

0
ответ дан 3 October 2018 в 22:49

Я бы лично использовал find, но вы можете использовать и эти вещи:

shopt -s globstar
ls /etc/{,**/}*.conf

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

locate '/etc/**.conf'
0
ответ дан 3 October 2018 в 22:49

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

locate "/etc/*.conf"

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

0
ответ дан 3 October 2018 в 22:49

grep выполняет поиск в содержимом файлов, а не в именах файлов.

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

find /etc -name "*.conf"
0
ответ дан 3 October 2018 в 22:49

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

Похожие вопросы: