Руководства по командной строке

Man » Онлайн-руководство по команде locate — подробная онлайн-документация для страницы руководства locate

🌍
plocate — быстро ищет файлы по имени.

СИНТАКСИС

plocate [ОПЦИЯ]... ШАБЛОН...

ОПИСАНИЕ

plocate находит все файлы в системе, соответствующие заданному шаблону (или всем шаблонам, если их несколько). Это делается с помощью индекса, созданного командой updatedb(8) или (реже) путем преобразования из другого индекса с помощью команды plocate-build(8).

plocate в значительной степени совместима по аргументам с mlocate(1), но работает значительно быстрее. В частности, ей редко требуется просматривать всю базу данных, если только шаблон не слишком короткий (менее трех байтов) или вы не хотите выполнить поиск по регулярному выражению. Она не пытается поддерживать совместимость с BSD locate или с файлами и локалями, не использующими кодировку UTF-8. Большинство операций ввода-вывода выполняются асинхронно, но результаты синхронизируются, чтобы порядок вывода был одинаковым каждый раз.

При указании нескольких шаблонов plocate будет искать файлы, соответствующие всем шаблонам. Это основное отличие от mlocate(1), которая ищет файлы, соответствующие одному или нескольким шаблонам, если не указана опция -A.

По умолчанию шаблоны рассматриваются как подстроки для поиска. Если указан хотя бы один символ подстановки (не экранированный), такой как *, ? или [], то этот шаблон вместо этого рассматривается как шаблон подстановки (что означает, что для соответствия подстроке он должен начинаться и заканчиваться символом *). Если указана опция --regexp, шаблоны вместо этого рассматриваются как (незафиксированные) основные регулярные выражения POSIX, а если указана опция --regex, шаблоны рассматриваются как расширенные регулярные выражения POSIX. Все это соответствует поведению mlocate(1).

Как и mlocate(1), plocate показывает все файлы, видимые для вызывающего пользователя (в силу наличия разрешений на чтение и выполнение во всех родительских каталогах) и не показывает файлы, которые невидимы, путем запуска с установленным битом setgid для доступа к индексу (который создается пользователем root), но путем проверки видимости для вызывающего пользователя.

КОД ВЫХОДА

plocate завершает работу с кодом 0, чтобы указать, что найдено соответствие или что были переданы параметры --help или --version. В противном случае plocate завершает работу с кодом выхода 1, указывая на то, что произошла ошибка или что соответствия не найдены.

ПАРАМЕТРЫ

-A, --all

Игнорируется для обеспечения совместимости с mlocate(1).

-b, --basename

Сопоставлять только с частью имени файла в пути, т.е. имена каталогов исключаются из сопоставления (но все равно выводятся). Это не ускоряет поиск, но может подавлять неинтересные соответствия.

-c, --count

Не выводить каждое соответствие. Вместо этого подсчитать их и вывести общее количество в конце.

-d, --database DBPATH

Найти соответствия в указанной базе данных, а не в /var/lib/plocate/plocate.db. Этот аргумент может быть указан несколько раз, чтобы выполнить поиск в нескольких базах данных. Также можно указать несколько баз данных в одном аргументе, разделенных двоеточием (:). Любой символ, включая : и \, может быть экранирован путем добавления перед ним символа \.


-e, --existing
Выводить только записи, которые ссылаются на файлы, существующие на момент запуска команды locate. Обратите внимание, что, в отличие от mlocate(1), символические ссылки не отслеживаются по умолчанию (и, фактически, нет возможности изменить это поведение).

-i, --ignore-case
Выполнять поиск без учета регистра в соответствии с текущей локалью (по умолчанию выполняется поиск с учетом регистра, побайтово). Обратите внимание, что plocate не поддерживает полный набор правил приведения символов к одному регистру в Unicode; в частности, при поиске по запросу ß не будут найдены совпадения с ss, даже если установлена немецкая локаль. Также обратите внимание, что эта опция будет немного медленнее, чем поиск с учетом регистра, поскольку для поиска в индексе потребуется сгенерировать больше кандидатов.

-l, --limit LIMIT
Прекратить поиск после того, как будет найдено LIMIT совпадений. Если указана опция --count, то выводимое число будет не больше LIMIT.

-N, --literal
Выводить имена записей без экранирования. Обычно plocate экранирует специальные символы в именах файлов, чтобы они были безопасны для использования в типичных оболочках (аналогично стилю экранирования GNU coreutils shell-escape-always), если не выполняется вывод в канал, но эта опция отключает такое экранирование.

-0, --null
Вместо записи новой строки после каждого совпадения записывать символ NUL (ASCII 0). Это полезно для создания однозначного вывода, который будет обрабатываться другими инструментами (например, xargs(1)), поскольку имена файлов могут содержать встроенные символы новой строки.

-r, --regexp
Считать шаблоны обычными выражениями POSIX. См. regex(7) для получения дополнительной информации. Обратите внимание, что это приводит к линейному сканированию всей базы данных, что является медленной операцией.

--regex
Как и --regexp, но шаблоны рассматриваются как расширенные выражения POSIX.

-w, --wholename
Выполнять сопоставление с полным путем к файлу. Это поведение по умолчанию, поэтому, если не указана опция -b (см. выше), она не будет ничего делать. Эта опция существует только для обеспечения совместимости с mlocate(1).

--help
Вывести информацию об использовании и успешно завершить работу.

--version
Вывести информацию о версии и успешно завершить работу.

Окружающая среда

LOCATE_PATH
Если указано, добавляется после списка путей к базе данных (будь то явным путем или путем по умолчанию). Разделение двоеточием и экранирование символов следуют тем же правилам, что и для опции --database.

АВТОР

Steinar H. Gunderson <_>

См. также

plocate-build(8), mlocate(1), updatedb(8)