Простое find / -type f -name ""поможет, если вы знаете точное имя файла.
find / -type f -iname "filename*" если вы хотите сопоставить больше файлов (игнорируйте регистр).
Избегайте -typeопций, если вы хотите искать каталоги и т. Д. См. Руководство по поиску для получения дополнительной информации. Чтобы увидеть руководство, введите команду:
Черт, я был всего на несколько секунд медленнее: P Отредактирую его, чтобы просто показать команду locate.
Нитин Венкатеш
2
Это также будет искать все подключенные устройства, возможно, захотите просто искать/mount/hddyouwanttosearch
Callum Rogers
Стоит отметить, что поиск действительно медленный, по сравнению с индексированной поисковой системой, такой как locate (но также и более мощная)
перекидывание
49
Вы также можете использовать locateдля поиска команд. Почему люди используют locate, если find выполняет работу? Потому что поиск гораздо быстрее, чем поиск, поскольку он просто ищет в базе (-ах) проиндексированных расположений, чтобы найти ваш файл / регулярное выражение.
Примеры:
locate some-file.avi выполняет поиск в базе данных практически всех файлов на диске для поиска файла с именем "some-file.avi".
locate -i "some-file.avi" будет игнорировать регистр файла, который вы ищете.
locate -i "*.txt" отобразит список местоположений всех файлов с расширением **. txt * в вашей системе.
man locate для получения дополнительной информации о файле.
Вам может понадобиться updatedbсначала запустить, чтобы убедиться, что база данных индекса обновлена, иначе «locate» может не вернуть то, что вы ищете.
Человек, который спросил это, утверждает, что использует сервер, поэтому нет графического интерфейса. Но это отличный ответ в любом случае!
Rafał Cieślak
8
Если вы ищете строку внутри файла, вы можете использовать grep. Вот пример команды:
grep -r -i "some string" /home/yourusername
Это найдет "some string"в /home/yourusernameкаталоге. Поиск будет игнорировать case ( -i) и recurse каталогов ( -r). Вы можете использовать /в качестве каталога для поиска во всем каталоге, но это может быть не очень эффективно.
В Ubuntu я знаю, что все хотят быть догматичными по поводу использования командной строки все время, и раньше я так и делал, но мне нравится инструмент Gnome «Поиск файлов ...». Я думаю, что это круто.
Тогда попробуйте поискать в KDE. Это намного лучше, чем гном. Я все еще жду, когда Наутилус догонит универсальность поисковой системы KDE. Дельфин / Konqueror намного лучше из-за этого.
Луис Альварадо
Да, я думал о переходе на Kubuntu на самом деле. Я посмотрю на это.
Джангофан
3
Для настройки рабочего стола установите «gnome-search-tool» sudo apt-get install gnome-search-tool
Не устанавливайте это на сервер, он также установит пакет рабочего стола Ubuntu.
Спасибо @Rinzwind за указание на это.
Фильтры включают:
Выберите папку, которую вы хотите найти. В этом случае\
Содержит текст - это имя файла.
Дата изменения - меньше или больше, чем в количестве дней.
Размер файла - не менее или не более указанного размера. Вы также можете искать пустые файлы.
Владелец файла - пользователь, группа или нераспознанный владелец.
Регулярные выражения - соответствует регулярным выражениям.
Вы можете выбрать отображение скрытых файлов, переход по символическим ссылкам или исключение других файловых систем.
Ответы:
Простое
find / -type f -name ""
поможет, если вы знаете точное имя файла.find / -type f -iname "filename*"
если вы хотите сопоставить больше файлов (игнорируйте регистр).Избегайте
-type
опций, если вы хотите искать каталоги и т. Д. См. Руководство по поиску для получения дополнительной информации. Чтобы увидеть руководство, введите команду:man find
источник
/mount/hddyouwanttosearch
Вы также можете использовать
locate
для поиска команд. Почему люди используют locate, если find выполняет работу? Потому что поиск гораздо быстрее, чем поиск, поскольку он просто ищет в базе (-ах) проиндексированных расположений, чтобы найти ваш файл / регулярное выражение.Примеры:
locate some-file.avi
выполняет поиск в базе данных практически всех файлов на диске для поиска файла с именем "some-file.avi".locate -i "some-file.avi"
будет игнорировать регистр файла, который вы ищете.locate -i "*.txt"
отобразит список местоположений всех файлов с расширением **. txt * в вашей системе.man locate
для получения дополнительной информации о файле.Вам может понадобиться
updatedb
сначала запустить, чтобы убедиться, что база данных индекса обновлена, иначе «locate» может не вернуть то, что вы ищете.источник
updatedb
должен быть запущен от имени пользователя root.updatedb
добавляется/
в индекс, как он может быть быстрееfind /
?Начните с нажатия на значок «Домашняя папка» в панели запуска.
В открывшемся окне нажмите «Поиск».
Введите в поле то, что вы хотите найти, затем нажмите ввод.
Под раскрывающимся списком местоположения выберите жесткий диск и нажмите «Перезагрузить».
Результаты будут отображены. Надеюсь, это поможет!
источник
Если вы ищете строку внутри файла, вы можете использовать grep. Вот пример команды:
Это найдет
"some string"
в/home/yourusername
каталоге. Поиск будет игнорировать case (-i
) и recurse каталогов (-r
). Вы можете использовать/
в качестве каталога для поиска во всем каталоге, но это может быть не очень эффективно.источник
В Ubuntu я знаю, что все хотят быть догматичными по поводу использования командной строки все время, и раньше я так и делал, но мне нравится инструмент Gnome «Поиск файлов ...». Я думаю, что это круто.
источник
Для настройки рабочего стола установите «gnome-search-tool»
sudo apt-get install gnome-search-tool
Не устанавливайте это на сервер, он также установит пакет рабочего стола Ubuntu.
Спасибо @Rinzwind за указание на это.
Фильтры включают:
\
источник
Trying to locate a file, how can I search the entire hard drive for a file?
том, что нигде нет «установки сервера» ...Если вы не хотите запоминать
find
(это очень мощный) параметры, вы можете установить их из официальных репозиториев:Все трое великолепны, но я нашел kfind лучшим.
Из справочной вики сообщества Ubuntu вы можете найти полезную информацию:
источник
Если нужно найти вложенные в некоторые каталоги:
источник