Как искать весь жесткий диск для файла?

78

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

    
задан Blankman 21.12.2011 в 05:33
источник

8 ответов

100

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

find / -type f -iname "filename*" , если вы хотите совместить больше файлов.

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

man find     

ответ дан sagarchalise 21.12.2011 в 05:44
источник
39

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

Примеры:

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

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

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

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

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

    
ответ дан Nitin Venkatesh 21.12.2011 в 05:45
13

Начните с нажатия значка «Главная папка» в панели запуска.

В открывшемся окне нажмите «Поиск».

Введите то, что вы хотите найти в поле, затем нажмите клавишу ввода.

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

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

    
ответ дан William 28.12.2011 в 16:43
6

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

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

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

ответ дан recluze 23.12.2011 в 04:04
5

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

    
ответ дан djangofan 21.12.2011 в 05:49
3

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

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

Фильтры inlude:

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

    
ответ дан Parto 27.02.2014 в 13:35
1

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

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

Три из них великолепны, но я нашел kfind лучший.

В вики-странице сообщества Ubuntu вы можете найти полезное:

  • dpkg -L | --listfiles ... Список файлов, принадлежащих 'пакетам (-ам).
  • dpkg -S | --search ... Найти файл (ы) пакета (ов).
ответ дан pabloab 27.02.2014 в 13:24
0

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

find / -type f -wholename "*foo/bar/filename"
    
ответ дан Andrey 19.10.2014 в 16:15