Чи підтримує файлову систему Linux швидкий пошук / індексацію файлів?


21

Цікаво, чому не існує жодного інструменту, який би дозволив дуже швидко знаходити файли на своєму жорсткому диску, як-от "шукати все". Просто введіть частину імені файлу, і всі файли, що містять ключове слово, з’являться миттєво. Чи не можливо створити програму для запису імен усіх файлів у деякому каталозі в базі даних, щоб можна було швидко шукати в базі даних за іменами файлів?


Незначна нитка, але це може допомогти вам краще зрозуміти систему. Взагалі файлові системи безпосередньо не підтримують пошук файлів або створення індексів. Завдання файлової системи - зберігання файлів. Пошук та індексація здійснюються різними корисними програмами. Це робиться таким чином, оскільки простіша файлова система = менший шанс помилок, і вона дозволяє користувачеві налаштувати рівень створення індексу та які області повинні бути цілями.
Перкінс

Відповіді:


13

Запуск sudo updatedbта locate [ filename or part ]
updatedbоновлення бази даних індексів.
Якщо ви хочете знайти програму, запустітьwhereis [ program name ]


1
Добре, але як зробити пошук пошуку в якомусь конкретному каталозі в монетному дворі Linux?
hvjkjdtmkgh

добре для цієї мети ви можете використовувати findкоманду, використовувати її так. find [path to directory] | grep "file name or part"Це буде шукати рекурсивно, щоб ви могли просто шукати всередині базового каталогу, і він автоматично шукатиме файл всередині будь-якого підкаталогу.
Гуфран

Для деяких конкретних довідників:locate foo | grep /home/bar/baz
Скотт Северанс

Дякую, але чи можете ви надати мені приклад? Я абсолютно новий у Linux. У Windows ви пишете D: \\ ім'я папки \ тощо. Що таке еквівалент у Linux? Також, чи має цей інструмент графічний інтерфейс, щоб я міг безпосередньо відкривати файл?
hvjkjdtmkgh

утиліти, такі як locateабо findне вбудований графічний інтерфейс, ви можете використовувати сторонній інструмент типу catfish. Щоб встановити інструмент, ви можете шукати його catfishв центрі програмного забезпечення або виконати цю команду sudo apt-get install catfish. Після встановлення ви можете відкрити програму від Unity Dash. що стосується структури файлу в Linux, то C, Dприводів немає , всі розділи монтуються як каталог всередині кореня, тобто /(зворотний косий ривок). тому все йде безпосередньо всередину /, як і ваш домашній каталог (те саме, що ваш каталог користувачів у windows) знаходиться всередині/home/
Gufran

5

Якщо ви шукаєте лише імена файлів, він все це робить, він називається locate

Для більш розширеного пошуку ви можете подивитися трекер: https://wiki.ubuntu.com/Tracker (див. Також це питання: Які альтернативи прожектору OS X? )

Більше варіантів ви можете знайти тут: https://help.ubuntu.com/community/FindingFiles


Як я можу зробити пошук пошуку в певному каталозі?
hvjkjdtmkgh

Це ще одне питання, але ви можете знайти відповідь тут serverfault.com/questions/313733 / ... :)
Nanne

але те, що пошук посилань на файли на help.ubuntu є досить хорошим описом вашого вибору?
Нанна

@hvjkjdtmkgh: Перегляньте мій коментар щодо відповіді Гуфрана щодо пошуку конкретного каталогу.
Скотт Северанс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.