9 примеров использования locate в Linux

9 примеров использования locate в Linux

Рубрики:

Linux, Терминал Linux

Метки:

, , , ,

Команда locate — это утилита командной строки Linux, которая находит файлы и каталоги в системе по их именам. Этот инструмент особенно пригодится пользователям, которые хранят на накопителе огромное количество файлов. В такой ситуации необходимо простое и одновременно эффективное средство поиска файлов. Этим условиям в полной мере соответствует команда locate, поскольку она вместо поиска файла по всей файловой системе просматривает базу данных mlocate, которая содержит биты и части файлов, а также — соответствующие им пути в системе.

В этой статье мы покажем несколько примеров использования команды locate вместе с различными полезными опциями.

Содержание:

  1. Синтаксис команды locate
  2. Примеры использования команды locate
    1. Найдите файл по названию
    2. Ограничьте количество результатов поиска
    3. Узнайте количество найденных записей
    4. Как игнорировать регистр при поиске
    5. Обновите базы данных locate
    6. Найдите только существующие записи
    7. Уберите символ-разделитель
    8. Осуществляйте поиск с помощью регулярных выражения
    9. Используйте свою базу данных
  3. Выводы

Синтаксис команды locate

У данной утилиты несложный синтаксис, достаточно ввести команду locate и в качестве аргумента — текст шаблона, по которому Вы хотите найти файл. В работе с утилитой будут полезны следующие опции:

  • -c — выводит количество совпадений с указанным шаблоном;
  • -i — позволяет игнорировать регистр при поиске;
  • -e — выводит только те названия, которые существуют на данный момент;
  • -r — позволяет указывать регулярные выражения вместо шаблонов;
  • -h — выводит справочную информацию об утилите.

Если же Вам нужно использовать какую-либо опцию — просто добавьте ее между командой и искомым шаблоном. Чтобы увидеть подробное описание синтаксиса и опций утилиты — введите в командную строку команду locate с параметром --help:

 

locate help

Найдите файл по названию

Итак, рассмотрим самый простой способ поиска файлов с использованием этой утилиты. Допустим, Вам нужно найти файл 123.txt. Чтобы это сделать — введите команду locate с названием файла в качестве аргумента:

 

locate file

Ограничьте количество результатов поиска

Когда Вам нужно найти файл по его расширению, зачастую в результате Вы получаете длинный список из всех найденных файлов данного типа. Вы можете ограничиться определенным числом файлов, чтобы избежать избыточности результатов поиска. Чтобы это сделать — используйте опцию -n. Предположим, что Вам нужно получить только 20 результатов из поиска файлов с расширением .txt:

 

locate 20 txt files

Узнайте количество найденных записей

Данная команда позволяет установить не только расположение файлов по определенному шаблону, но и узнать количество найденных соответствий в базе данных. В этом Вам поможет опция -c. Например, попробуем узнать количество файлов, в названии которых есть шаблон user:

 

count matches
Читайте также: Курс LFCS — часть 3: архивирование, поиск и настройка атрибутов файлов

Как игнорировать регистр при поиске

Изначально команда учитывает регистр при поиске файлов. То есть, считает одни и те же слова, написанные с использованием строчных и заглавных символов в любых комбинациях — разными. Чтобы отменить эту настройку и заставить locate считать совпадающими результаты как в верхнем, так и в нижнем регистре — используйте параметр -i:

 

ignore resgister

Как Вы могли заметить, в результатах поиска присутствуют не только точные совпадения (text.txt), но и комбинации строчных и заглавных букв — Text.txt, TEXt.txt и так далее.

Обновите базы данных locate

Как мы говорили ранее, команда locate использует для поиска базу данных mlocate. Стоит отметить, что данная база данных периодически обновляется сама. Однако, для эффективной работы утилиты рекомендуется вручную обновлять mlocate перед началом поиска. Чтобы это сделать, следует использовать команду updatedb с привилегиями суперпользователя:

Найдите только существующие записи

Обычно база данных mlocate обновляется автоматически. Однако, в промежутках времени между ее обновлениями Вы можете удалить некоторые файлы. И во время поиска они все еще будут найдены утилитой. Чтобы этого избежать — используется опция -e:

 

locate exist

Уберите символ-разделитель

Изначально каждая новая запись в результатах поиска выводиться с новой строки. То есть, утилита использует разделитель \n. Если Вам нужно, чтобы результаты выводились друг за другом подряд — просто уберите этот символ с помощью опции -0:

 

no separator sign

Осуществляйте поиск с помощью регулярных выражения

Команда locate может выполнять поиск не только по точному шаблону. Вместо этого пользователь может использовать регулярные выражения, составленные с использованием метасимволов подстановки. Для этого достаточно добавить к команде параметр --regex. С его помощью Вы можете находить записи с разным разрешением файлов и названием. Допустим, что Вам нужно найти файлы .txt и .html. В таком случае следует ввести в командную строку следующую команду:

 

locate regex
Читайте также: Поиск больших файлов и папок на диске в Linux

Используйте свою базу данных

Возможно, у Вас существует своя база данных, в которую записывается расположение различных файлов. Вы можете использовать ее для работы с командой locate. Стоит отметить, что список названий файлов в базе данных должен быть разделен двоеточием. Для такого поиска Вы должны указать путь к своей базе данных после параметра -d и добавить искомый шаблон:

Выводы

Мы разобрали, для чего и как можно использовать команду locate в Linux. С помощью данной утилиты Вы сможете искать нужные файлы по заданному шаблону, в том числе — по регулярному выражению, а также — обновлять базу данных, чтобы поиск выдавал актуальные результаты. Все это непременно пригодиться Вам при работе с Linux и поможет укрепить знания в сфере системного администрирования.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Терминал Linux

Метки:

, , , ,

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню