Locate — ищем файлы в системе.

Мы создаем много файлов в процессе работы в системе, и запомнить все их расположение не самая простая задача. В таком случае можно использовать команду «locate», чтобы найти файл.

Команда locate используется для поиска файлов и каталогов в вашей системе. Он может искать файлы и каталоги по их имени, содержимому или местоположению.

В этой статье поговорим об этой команде, а так же рассмотрим несколько примеров ее использования.

Введение.

Пакет mlocate, по умолчанию, установлен в большинстве известных дистрибутивов. Узнать это, можно, просто выполнив команду locate. Если вывод будет следующим:

То значит проблем нет, пакет присутствует в вашей системе. Если получаете, что-то вроде этого:

то вам необходимо будет его установить.

Установка locate

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

Установка locate в Ubuntu/Debian

Установка locate в RHEL.

Установка locate в Manjaro/Endeavour/Arch Linux

После завершения установки, можно и рассмотреть некоторые примеры использования команды locate.

1. Базовое использование команды locate

Использование locate интуитивно понятно. Просто нужно вызвать эту команду и передать ей имя файла в качестве аргумента, чтобы найти файл в дисковом хранилище.

Например, мне нужно выполнить поиск файлов, которые содержат в имени или пути к нему, слово history. Для этого можно использовать, следующую команду:

2. Постраничный вывод с помощью less.

Список искомых файлов может быть длинным. И чтобы его было удобно просматривать, может понадобиться какой-то инструмент для прокрутки вверх и вниз.

Для лучшей читаемости можно передать вывод команды locate в команду less.

Например, можно передать команду, используемую выше в less

3. Ограничение количества строк в выводе

Можно ограничить количество результатов поиска. Для этого необходимо передать параметр -n и число строк необходимых для вывода.

Например, если мы хотим ограничить количество результатов до 5, мы можем использовать опцию -n с поисковым запросом

4. Подсчет количества строк результата.

Если вы хотите подсчитать количество строк в выводе, используется параметр -c.

Например, я хочу найти количество файлов содержащих в имени или в пути слово «history»

5. Игнорировать регистр букв.

Вывод, который вы получаете от команды locate на экране, чувствителен к регистру. Это означает, что при поиске по слову «history» будет найдено только слово «history», и будут игнорироваться такие случаи, как «History» или «HISTORY».

Чтобы игнорировать регистр букв используется параметр -i.

Например, если вы хотите найти все файлы, в имени или пути которых есть «history», вам нужно использовать опцию -i, как показано в следующей команде:

6. Поиск файла по точному имени.

Приведенная выше команда полезна, если вы не уверены в имени файла и местоположении указанного запроса. Но когда вы абсолютно уверены в имени файла, вы можете задать точное имя или путь к файлу.

Для этого используется параметр -r

Например, я хочу найти файл history.page, тогда запрос будет таким

7. Показывать только доступные файлы.

Нет, несомненно, скорость отработки команды locate не может не радовать. Но иногда можно обнаружить, что путь к файлу больше не доступен в вашей системе, а команда locate по-прежнему его отображает.

Это происходит потому, что команда updateb обновляет файл базы данных каждые 24 часа с помощью cron. Любые изменения, происходящие после цикла обновления, не будут записываться до следующего цикла или обновления вручную.

Вы можете использовать параметры -e или —existing, чтобы отображать только существующие файлы.

Например, удалю файл «test.pdf» из своего текущего каталога и выполнить команду без параметра -e и с параметром -e, чтобы выяснить разницу.

8. Использовать другую базу данных.

Иногда в вашей системе может быть несколько файлов plocate, и если вы хотите прочитать этот файл mlocate, вам нужно использовать опцию -d и указать путь к базе данных с шаблоном поиска.

Например, если у вас есть две доступные базы данных plocate, вы можете использовать следующую команду для поиска файла в той базе, которая не назначена по умолчанию:

9. Обновление базы данных вручную.

Файл базы данных обновляется каждые 24 часа с помощью задания cron, и новые изменения будут отражены в файловой системе через 24 часа.

А если вы внесли какие-либо изменения и хотите обновить базу данных прямо сейчас, вам нужно запустить приведенную ниже команду в своем терминале:

Заключение.

Вот и все про команду locate. Если вы хотите поделиться некоторыми командами поиска, которые я пропустил, или какими-либо приемами, которые могут быть полезны пользователям Linux, поделитесь ими с нами.

Буду очень рад

Was this helpful?

0 / 0

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