Як шукати файл на всьому жорсткому диску?


Відповіді:


157

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

find / -type f -iname "filename*" якщо ви хочете відповідати більше файлів (ігноруйте випадок).

Уникайте -typeопції, якщо ви хочете шукати каталоги тощо. Додаткову інформацію див. У посібнику пошуку. Щоб переглянути керівництво, видайте команду:

man find


Данг, я був лише на кілька секунд повільніше: P Відредагує це, щоб просто показати команду locate.
Нітін Венкатеш

2
Також буде здійснено пошук усіх змонтованих пристроїв, можливо, потрібно просто здійснити пошук/mount/hddyouwanttosearch
Callum Rogers

Варто зазначити, що пошук дійсно повільний, порівняно з індексованою пошуковою системою, такою як locate (але також і потужніша)
переповнення

48

Ви також locateможете шукати команди. Чому люди використовують locate, якщо знаходять роботу? Оскільки пошук набагато швидше, ніж пошук, оскільки він просто шукає через базу даних індексованих місць, щоб знайти ваш файл / регекс.

Приклади:

locate some-file.avi здійснює пошук через базу даних майже кожного файлу на диску для файлу під назвою "some-file.avi".

locate -i "some-file.avi" ігнорує регістр файлу, який ви шукаєте.

locate -i "*.txt" відобразиться список локацій усіх файлів з розширенням **. txt * у вашій системі.

man locate для отримання додаткової інформації про файл.

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


Зауважте, що він updatedbповинен запускатися як root.
Rafał Cieślak

5
це ШЛЯХО швидше, ніж знайти \ святу корову ... спасибі!
anon58192932

Якщо updatedbдодавати /до індексу за замовчуванням, як це все ще може бути швидше, ніж find /?
Хашим

14

Почніть з натискання піктограми «Домашня папка» на панелі запуску.

введіть тут опис зображення

У вікні, що відкриється, натисніть «Пошук».

введіть тут опис зображення

Введіть у поле, що потрібно шукати, а потім натисніть клавішу Enter. введіть тут опис зображення

У спадному меню розташування виберіть ваш жорсткий диск, а потім натисніть кнопку "Перезавантажити".

введіть тут опис зображення

Потім будуть показані результати. Сподіваюся, що це допомагає!


3
Людина, яка його запитала, заявляє, що він використовує сервер, тому немає графічного інтерфейсу. Але це все одно чудова відповідь!
Rafał Cieślak

8

Якщо ви шукаєте рядок у файлі, ви можете використовувати grep. Ось зразок команди:

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

Це знайдеться "some string"в /home/yourusernameкаталозі. Пошук буде ігнорувати case ( -i) і повторювати каталоги ( -r). Ви можете використовувати /як каталог для пошуку по всьому каталогу, але це може бути не дуже ефективно.


5

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


3
ну я на сервері
Blankman

Спробуйте виконати пошук у KDE. Це набагато краще, ніж гном. Я ще чекаю Nautilus, щоб наздогнати універсальність, яку має пошукова система KDE. Дельфін / Konqueror набагато кращий через це.
Луїс Альварадо

Так, я фактично думав про перехід на Kubuntu. Я погляну на це.
djangofan

3

Для налаштування робочого столу встановіть "gnome-search-tool"
sudo apt-get install gnome-search-tool

Не встановлюйте це на сервері, він також встановить пакет робочого столу ubuntu.
Дякуємо @Rinzwind за вказівку на це.

Фільтри містять:

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

введіть тут опис зображення


@Rinzwind Питання полягало в Trying to locate a file, how can I search the entire hard drive for a file?тому, що "ніде не встановлено сервер"
Parto

@Rinzwind Hahah. Хороший. Дозвольте мені відредагувати свою відповідь і сказати, що це стосується лише налаштування робочого столу.
Парто

маємо нагороду у відповідь :)
Rinzwind

2

Якщо ви не хочете згадувати find(що дуже потужний) параметри, які ви можете встановити з офіційних репост:

  • kfind - утиліта пошуку файлів
  • gnome-search-tool - інструмент GNOME для пошуку файлів
  • сом - інструмент пошуку файлів, який можна налаштувати за допомогою командного рядка

Троє вони чудові, але я вважаю, що найкраще.

З довідкової вікі спільноти Ubuntu вам можуть бути корисні:

  • dpkg -L | --listfiles ... Перерахуйте файли, що належать "пакетам".
  • dpkg -S | --search ... Знайти пакет (и) пакета, що володіє файлами.

1

Якщо потрібно знайти вкладені в деяких брудах:

find / -type f -wholename "*foo/bar/filename"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.