Как выполнить поиск файла по всему жесткому диску?

Пытаясь найти файл, как я могу выполнить поиск файла по всему жесткому диску?

Простой find / -type f -name "" это сработало бы, если бы вы знали точное имя файла.

find / -type f -iname "filename*" если вы хотите сопоставить больше файлов (игнорируйте регистр).

Избегать -type опция, если вы хотите выполнить поиск по каталогам и т.д. Дополнительные сведения см. в руководстве по поиску. Чтобы ознакомиться с руководством, выполните команду:

man find

Вы также могли бы использовать locate для поиска команд. Почему люди используют разместить если находить выполняет свою работу? Потому что locate намного быстрее, чем find, поскольку он просто выполняет поиск по базе данных индексированных местоположений, чтобы найти ваш файл / регулярное выражение.

Примеры:

locate some-file.avi выполняет поиск в базе данных (базах данных) почти каждого файла на диске в поисках файла с именем "some-file.avi".

locate -i "some-file.avi" будет игнорироваться регистр файла, который вы ищете.

locate -i "*.txt" отобразит список местоположений всех файлов с расширением **.txt* в вашей системе.

man locate для получения дополнительной информации о файле.

Возможно, вам придется бежать updatedb сначала убедитесь, что база данных индексов обновлена, в противном случае "locate" может не вернуть то, что вы ищете.

Начните с нажатия на значок "Домашняя папка" в панели запуска.

enter image description here

В открывшемся окне нажмите кнопку "Поиск".

enter image description here

Введите в поле то, что вы хотите найти, затем нажмите enter.enter image description here

В раскрывающемся списке "Местоположение" выберите свой жесткий диск и нажмите "Перезагрузить".

enter image description here

Затем будут показаны результаты. Надеюсь, это поможет!

Если вы ищете строку внутри файла, вы можете использовать grep. Вот пример команды:

grep -r -i "some string" /home/yourusername

Это позволит найти "some string" в /home/yourusername каталог. Поиск будет игнорировать регистр (-i) и рекурсивные каталоги (-r). Вы можете использовать / как каталог для поиска по всему каталогу, но это может быть не очень эффективно.

В Ubuntu я знаю, что все хотят быть догматичными в отношении постоянного использования командной строки, и я в прошлом был таким, но мне нравится инструмент Gnome "Поиск файлов ...". Я думаю, это потрясающе.

Для настройки рабочего стола установите "gnome-search-tool".
sudo apt-get install gnome-search-tool

Не устанавливайте это на сервере, он также установит пакет ubuntu desktop.
Спасибо @Rinzwind за то, что указал на это.

Фильтры в комплекте:

  1. Выберите папку, в которой вы хотите выполнить поиск. В этом случае \
  2. Содержит текст - это имя файла.
  3. Дата изменения - меньше или больше, чем в количестве дней.
  4. Размер файла - не менее или не более указанного размера. Вы также можете искать пустые файлы.
  5. Владелец файла - пользователь, группа или непризнанный владелец.
  6. Регулярные выражения - соответствует регулярным выражениям.
  7. Вы можете выбрать отображение скрытых файлов, переход по символическим ссылкам или исключение других файловых систем.

enter image description here

Если ты не хочешь вспоминать find (что является очень мощным) параметры, которые вы могли бы установить из официальных репозиториев:

  • kfind - утилита поиска файлов
  • gnome-инструмент поиска - Инструмент GNOME для поиска файлов
  • сом - Инструмент поиска файлов, который настраивается с помощью командной строки

Все трое великолепны, но я нашел kfind лучший.

От Справка сообщества Ubuntu wiki вы могли бы найти полезным:

  • dpkg -L|--список файлов ... Список файлов, "принадлежащих" пакету (пакетам).
  • dpkg -S|--поиск ... Найдите пакет (ы), владеющий файлом (файлами).

Если нужно найти вложенные в некоторые каталоги:

find / -type f -wholename "*foo/bar/filename"

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

$ sudo nohup find / -type f -exec grep -H -i -n mysearchstring '{}' \; -print 2>/dev/null | tee /home/rmoore/find_output.txt &