Я новичок в Linux, и я хочу найти все .conf
файлы в /etc/
.
Я пытался grep -r *.conf /etc
, но результат не правильный.
Что я делаю не так?
Просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите команду ниже:
find . -type f -name "*.txt"
Это будет список всех файлов с расширением .txt
.
.
в начале обозначает текущий каталог. find
выполняет рекурсивный поиск во всех каталогах ниже заданного пути. Если вы хотите, чтобы поиск начинался где-то, кроме текущего рабочего каталога, укажите путь, например:
find /etc -type f -name "*.conf"
При поиске в каталоге /etc
и во всех его подкаталогах обычных файлов с .conf
расширение.
Я бы лично использовал find
, но вы можете использовать и эти вещи:
shopt -s globstar
ls /etc/{,**/}*.conf
И вы можете использовать локацию, и это быстро, но не надежно.
locate '/etc/**.conf'
Команда поиска медленная, эта команда сразу же даст вам результат:
locate "/etc/*.conf"
Дополнительную информацию о команде locate
(в пакете mlocate
) можно найти здесь: https : //medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
grep
выполняет поиск в содержимом файлов, а не в именах файлов.
Чтобы найти все .conf
файлов в /etc/
, вы хотите найти:
find /etc -name "*.conf"