Поиск по сайту:

Как установить команду «locate» для поиска файлов в Linux


Location — это утилита командной строки для поиска файлов по имени в Linux, как и команда find. Однако он работает более эффективно по сравнению со своим аналогом; он использует одну или несколько баз данных, заполненных программой updatedb, и выводит имена файлов, соответствующие хотя бы одному из шаблонов (предоставленных пользователем), в стандартный вывод.

Пакет Locate предоставляется пакетами GNU findutils или mlocate. Известно, что эти пакеты обеспечивают одинаковую реализацию программы. В большинстве систем CentOS/RHEL findutils уже установлен, однако если вы попытаетесь запустить командуlocate, вы можете столкнуться с ошибкой:

-bash: locate: command not found

В этой статье мы покажем вам, как установить пакет mlocate, который предоставляет команды locate и updatedb для поиска файлов в системах Linux.

Ниже приведен пример вывода, показывающий указанную выше ошибку и запрос к пакету findutils.

locate bash_completion.sh
rpm -qa | grep findutils

Чтобы установить mlocate, используйте менеджер пакетов YUM или APT в соответствии с вашим дистрибутивом Linux, как показано.

sudo yum install mlocate    [On CentOS/RHEL]
sudo apt install mlocate    [On Debian/Ubuntu]     

После установки mlocate вам необходимо обновить updatedb, который используется командой locate от имени пользователя root с помощью команды sudo, в противном случае вы получите ошибка. Местом хранения базы данных по умолчанию является /var/lib/mlocate/mlocate.db.

sudo updatedb

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

locate bash_completion.sh

Чтобы найти точное совпадение в соответствии с введенным вами шаблоном, используйте параметр -b и параметр подстановки \, как показано в следующем синтаксисе.

locate -b '\bash_completion.sh'

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

Вот и все! В этом руководстве мы показали вам, как установить пакет mlocate, который предлагает команды locate и updatedb в системе Linux. Поделитесь с нами своим мнением через форму обратной связи ниже.