Skip to main content
Linux для начинающих

Поиск файлов. Linux для начинающих.

Во время работы с операционными системами GNU/Linux часто приходится сталкиваться с вопросом поиска. Иногда к этим задачам относятся не только поиск определенного файла, но и поиск файлов определенного расширения или с определенной датой создания и много других характеристик. В предыдущих уроках мы с вами научились навигации и файловым операциям в терминале linux. Сегодня мы с вами разберем команды, узнаем что такое поиск файлов в GNU/Linux. 

Поиск файлов

find


Первая команда с которой мы ознакомимся, это команда «find«. Позволяет выполнять поиск файлов в каталогах. Синтаксис команды очень просто и имеет вид:

find путь -опции

Эта команда имеет очень мощный функционал и позволяет осуществлять очень гибкий поиск файлов. В путь мы указываем путь к каталогу в котором будем искать файлы и после этого указываем опции:

-name — поиск файла согласно шаблону

-user — поиск файлов определенного пользователя

-type — поиск по типу файла

-mtime — поиск по времени создания или модификации

Теперь рассмотрим пару примеров использования команды find.

 

find ~ -type f -size +100M

Этой командой мы выполним поиск всех файлов в домашнем каталоге пользователя размером больше 100 мегабайт. Опция -type f указывает, что искать мы будем файлы, опция -size +100M указывает, что искать файлы размер которых больше 100 мегабайт.

 

find ~ -type f -mtime +300

Теперь мы ищем файлы которые были изменены или созданы более 30ти дней назад. Опция —mtime +30 указывает нам а то, что нужно искать файлы старше 30ти дней.

 

Также есть опция которая указывает глубину поиска в каталогах -maxdepth. Так как команда find ищет только в том каталоге в котором вы указали. С помощью переменно -maxdepth можно задать глубину поиска в подкаталогах.

locate


locate не имеет такого сильного функционала как find, однако обладает другими преимуществами. Если вам нужно очень быстро найти файл, то используя команду locate вы это сделаете в разы быстрее чем при помощи команды find. Дело в том, что locate использует специальную базу и поиск производится не по файловой системе, а по базе. Для начала работы c командой locate вам нужно обновить базу данных, делается это командой updatedb. Выполнять нужно от имени суперпользователя. Также базу нужно периодически обновлять, так как в неё не будут добавлены файлы, которые были созданы после момента последнего выполнения обновления базы.

 

Пару примеров использования locate

  • locate file — поиск файла с именем file
  • locate .txt — найти все файлы с расширением txt
  • locate file -i — регистр файлов учитывает поэтому, чтобы снять это ограничение, вводим опцию -i
  • locate file -c — вывод количества найденных файлов
  • locate file -n 5 — ограничение вывода в 5 результатов

Довольно простой синтаксис и очень быстрый поиск. Только не забывайте использовать updatedb.

whereis


Не совсем поиск файлов, однако тоже полезная команда. Позволяет найти бинарные файлы, исходники и страницы документации программы установленной в системе. Синтаксис очень простой: whereis имя_программы.

 

При помощи этих 3х команд вы сможете эффективно и быстро искать файлы в вашей системе. Запомните основные опции(ключи) и приемы работы с командами, таким образом ваша работа станет еще эффективней

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *