Я хочу искать все .conf
файлы в /etc/
.
Я пытался grep -r *.conf /etc
, но результат неправильный.
Что я делаю не так?
Я хочу искать все .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'