Поиск файлов в Linux через командную строку
Возможность поиска файлов — довольно важный аспект использования компьютера. Естественно, есть несколько способов решить эту задачу. Вы можете использовать такой мощный инструмент, как Beagle (посмотрите мою статью Включить поиск Beagle в GNOME) или вы можете использовать более простые и быстрые инструменты командной строки для выполнения задач поиска.
На ум сразу приходит несколько поисковых инструментов, которые помогут вам в поиске. Первый инструмент найти а второй найти. Я предпочитаю первый инструмент, потому что он намного быстрее. Но оба инструмента справятся со своей задачей. Оба инструмента запускаются из командной строки и могут быть запущены как от имени пользователя root, так и от имени обычного пользователя. Давайте кратко рассмотрим каждый.
Найдите
В найти команда фактически не выполняет поиск в иерархии каталогов. Какие найти выполняет поиск в базе данных файлов, которые вы ищете. Благодаря этому поиск происходит быстрее. Но поскольку он использует базу данных, это означает, что база данных должна быть обновлена, чтобы новые отображались в результатах (или удаленные файлы не отображались в результатах). Поэтому, прежде чем вы начнете использовать эту команду, вам нужно обновить базу данных. Чтобы обновить базу данных, используемую найти вам нужно дать команду обновленоb. Было бы разумно настроить задание cron для регулярного обновления базы данных (поскольку большинство из нас не будет помнить о необходимости обновлять базу данных так часто, как это необходимо).
После обновления базы данных вы готовы к поиску. В найти команда проста:
найти FILENAME
(Куда ИМЯ ФАЙЛА — настоящее имя файла, который вы ищете.
Естественно, есть переключатели, которые можно использовать с командой. Наиболее полезными из них являются:
(ПРИМЕЧАНИЕ: переключатели будут отмечены знаком «-».)
- c — вместо записи полученных имен он записывает количество найденных совпадений.
- d — Используйте базу данных, отличную от базы по умолчанию.
- i — игнорировать регистр
- r — использовать регулярное выражение.
Последнее переключение действительно должно поднять брови у тех, кто в глубине души. В найти команда может использовать регулярные выражения, что делает эту команду ОЧЕНЬ полезной.
найти
в отличие от найти команда найти выполняет поиск по иерархии файловой системы. Из-за этого найти намного медленнее, чем найти. Но также из-за этого нет необходимости обновлять базу данных. Итак найти команда всегда будет иметь самые свежие результаты.
Синтаксис найти команда очень похожа на команду найти.
найти FILENAME
куда ИМЯ ФАЙЛА — это фактическое имя файла для поиска.
И вроде найти (и почти каждая команда Linux) есть переключатели для повышения удобства использования. Наиболее полезными из этих переключателей являются:
(ПРИМЕЧАНИЕ: переключатели будут отмечены знаком «-».)
- L — переход по символическим ссылкам
- delete — удалит найденные файлы.
- exec; КОМАНДНОЕ ИМЯ ФАЙЛА- Выполнит КОМАНДУ над ИМЯ ФАЙЛА.
В найти команда на самом деле немного сложнее, чем найти. Так как найти на самом деле цель — исследовать файлы (конечные результаты могут быть найдены в файлах), найти делает гораздо больше. Но для поиска файлов в командной строке он работает превосходно.
Вывод
Мои предпочтения — использовать найти. Я всегда использую найти прежде, чем я буду использовать инструмент поиска gui. Я доверяю результатам, они быстрее и точнее (если я обновляю базу данных). Попробуйте любой из этих инструментов. Скорее всего, вы будете довольны результатами (если, конечно, вы не сможете найти файл, который пытаетесь найти).