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

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

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Новая: == Поиск файлов == Никогда больше не теряйте свои данные. Linux имеет два главных инструмента для поиска ...)
 
м (восстановление кавычек в коде AWB)
 
Строка 12: Строка 12:
 
Альтернатива – Find, выполняющая поиск непосредственно в файловой системе. Это гораздо медленнее, но зато информация самая свежая. Здесь также предоставляется возможность выбрать, какие директории не включать в поиск, и искать не только по имени:  
 
Альтернатива – Find, выполняющая поиск непосредственно в файловой системе. Это гораздо медленнее, но зато информация самая свежая. Здесь также предоставляется возможность выбрать, какие директории не включать в поиск, и искать не только по имени:  
 
<code>
 
<code>
   find -name *какой_то_файл*
+
   find -name '*какой_то_файл*'
   find /usr -iname *другой_файл*
+
   find /usr -iname '*другой_файл*'
   find /usr -maxdepth 2 -iname *что_за_файл*
+
   find /usr -maxdepth 2 -iname '*что_за_файл*'
 
</code>
 
</code>
 
Первая строка выполняет поиск в текущей директории, заглядывая и в поддиректории. Вторая выполняет нечувствительный к регистру поиск, начиная с директории /usr. Третья делает то же самое, но ограничивает глубину «погружения» двумя поддиректориями.  
 
Первая строка выполняет поиск в текущей директории, заглядывая и в поддиректории. Вторая выполняет нечувствительный к регистру поиск, начиная с директории /usr. Третья делает то же самое, но ограничивает глубину «погружения» двумя поддиректориями.  

Текущая версия на 17:39, 27 апреля 2008

[править] Поиск файлов

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

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 

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

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