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

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

Я попытался

find / -iname fsck

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

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

0
задан 26 February 2015 в 04:56

3 ответа

Только для проверки это была опечатка, я вижу, что команда имеет fckd вместо fsck.

Обычно то, как я сделал бы это:

find / -iname '*fsck*'

я не был бы удивлен, заняла ли команда долгое время для завершения, но это должно показать результаты, поскольку это видит их.

главное, Вам нужен шаблон, чтобы быть шариком как, Вы использовали бы с 'ls'.

Помещение шаблона в одинарных кавычках делает его так, чтобы Ваша оболочка не пыталась расшириться *fsck* в список соответствия файлам в Вашем текущем каталоге до выполнения команды находки. Например, если бы у Вас не было файлов, которые соответствовали *fsck* в Вашем текущем каталоге, то выполненная команда закончила бы тем, что была:

find / -iname

Или если бы у Вас было 3 файла [fsck.a fsck.b fsck.c] в Вашем текущем каталоге, выполненная команда закончила бы тем, что была

find / -iname fsck.a fsck.b fsck.c

Путем выхода или заключения в кавычки *fsck*, команда заканчивается, поскольку Вы ожидали бы его:

find / -iname *fsck*

я полагаю, что можно также выйти из * с \*fsck\*.

Hope, которая помогает.

2
ответ дан 26 February 2015 в 04:56
  • 1
    Если Вы работаете apt-get upgrade, попробуйте apt-get dist-upgrade или apt upgrade. (Вы можете aldo делать поиск " пакеты были сохранены back".) – fkraiem 5 July 2016 в 12:03

Или, для текста в файлах, поскольку muru, на который указывают, но I'd̶o̶n ̶ '̶ t ̶, не сделал (благодарит), имеют точки репутации к продолжению.

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

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

2
ответ дан 26 February 2015 в 04:56
  • 1
    sudo apt-get dist-upgrade остальная часть установки, которой на самом деле помогают, обновлений. Спасибо за то, что решили мой вопрос! – Teddy Markov 5 July 2016 в 12:05

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

find / -iname '*fsck*'

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

sudo updatedb

Тогда, можно искать файл с

sudo locate fsck
1
ответ дан 26 February 2015 в 04:56
  • 1
    + Обратите внимание, что, если Вы ранее сохранили Release.key, система автоматически перечислит. Я wasn' t бдительный, и просто скопированный шаги выше - без радости. Тогда я заметил Release.key, был сохранен как Release.key.3 - и добавив, что крошечная тонкая настройка к apt-key add строка имела все значение (конечно!). – Dɑvïd 12 October 2016 в 10:53

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

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