Журнал LinuxFormat - перейти на главную

LXF96:Коротко про

Материал из Linuxformat
Перейти к: навигация, поиск

Поиск файлов

Никогда больше не теряйте свои данные.

Linux имеет два главных инструмента для поиска файлов: Locate и Find. Первый держит базу данных о файлах вашей системы. Такой поиск быстрее, но ограничивается файлами, содержащимися в базе на момент последнего обновления. Большинство дистрибутивов устанавливают скрипт cron для поддержки актуальности базы файлов. Поиск ведется только по именам файлов. Используйте

 locate некоторый_файл                                 
 locate –i некоторый_файл                         

(Второй вариант – для поиска, нечувствительного к регистру.)

Альтернатива – Find, выполняющая поиск непосредственно в файловой системе. Это гораздо медленнее, но зато информация самая свежая. Здесь также предоставляется возможность выбрать, какие директории не включать в поиск, и искать не только по имени:

 find -name '*какой_то_файл*' 
 find /usr -iname '*другой_файл*' 
 find /usr -maxdepth 2 -iname '*что_за_файл*' 

Первая строка выполняет поиск в текущей директории, заглядывая и в поддиректории. Вторая выполняет нечувствительный к регистру поиск, начиная с директории /usr. Третья делает то же самое, но ограничивает глубину «погружения» двумя поддиректориями.

Благодаря большому числу опций, Find является более гибким вариантом, а Locate великолепен для быстрого поиска. Вы можете пропустить вывод Locate через grep для поиска определенных директорий:

 locate -i мой_файл | grep /home/ 

Также заметим, что Locate выполняет поиск в подстроках, а Find ищет точные совпадения. А вы когда нибудь задумывались, где программа сохраняет свои файлы конфигурации? Выполните touch /tmp/now, затем запустите программу, измените настройки и выйдите. Далее наберите:

 find ~ -newer /tmp/now 

для поиска всех измененных файлов – сюда попадут файлы конфигурации программы и кое-какие другие.

Персональные инструменты
купить
подписаться
Яндекс.Метрика