Использование find для поиска файлов, содержащих слово

Я хочу использовать команду find для поиска всех файлов в системе, которые имеют слово fsck.

Я попробовал

find / -iname fsck

и начал искать файлы, но все было отказано в разрешении. Когда я пытаюсь выполнить с помощью sudo, командная строка просто кажется висеть.

Я нахожусь на правильном пути здесь? Я очень зациклен на том, как это сделать ..

1
задан 26 February 2015 в 05:56

2 ответа

Или, для текста в файлах, как указано в муру, но я не знал (спасибо), что у него есть точки репутации для наблюдения.

grep -sinIR fsck * для в пределах lobaly искать регулярное выражение и печатать - устранять ошибки, игнорировать случай, возвращать номера строк, игнорировать двоичные файлы и делать это рекурсивно * все файлы в каталоге

Как заметил sparhawk locate, это удобно инструмент. locate -i nAmE игнорировать регистр, -A для взаимных поисковых терминов, например, locate -iA fsck txt, который будет возвращать все файлы, включая fsck и txt в имени с обновленной базой данных.

2
ответ дан 23 May 2018 в 22:55

Чтобы найти файлы, содержащие fsck, вам нужно использовать подстановочные знаки.

find / -iname '*fsck*'

Вы правы, что требуется sudo. Он был «висит», потому что ему нужно пройти всю вашу файловую систему, что занимает много времени. В качестве альтернативы, я бы рекомендовал использовать locate, который использует предварительно скомпилированный индекс и, следовательно, намного быстрее. Этот индекс обычно регулярно обновляется cronjob, но вы можете убедиться, что он обновлен с помощью

sudo updatedb

. Затем вы можете искать свой файл с помощью

sudo locate fsck
1
ответ дан 23 May 2018 в 22:55

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

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