Команда Linux locate

Linux 命令大全Справочник команд Linux

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

В общем случае, нам нужно только ввестиlocate your_file_nameчтобы найти указанный файл.

Синтаксис

locate [-d ][--help][--version][范本样式...]

Параметры:

  • -b, --basename -- Сопоставлять только базовое имя пути
  • -c, --count -- Выводить только количество найденных совпадений
  • -d, --database DBPATH -- Использовать базу данных, указанную в DBPATH, вместо базы данных по умолчанию /var/lib/mlocate/mlocate.db
  • -e, --existing -- Выводить только записи для существующих в данный момент файлов
  • -1 -- Если значение равно 1, включить безопасный режим. В безопасном режиме пользователи не будут видеть файлы, на просмотр которых у них нет прав. Это снизит скорость, поскольку locate должен получать данные о правах доступа к файлам из реальной файловой системы.
  • -0, --null -- Разделять записи символом NUL при выводе
  • -S, --statistics -- Не искать записи, выводить статистику по каждой базе данных
  • -q -- Тихий режим, сообщения об ошибках не выводятся
  • -P, --nofollow, -H -- При проверке существования файла не переходить по конечным символическим ссылкам
  • -l, --limit, -n LIMIT -- Ограничить вывод (или подсчёт) до LIMIT записей
  • -n -- Выводить не более n результатов
  • -m, --mmap -- Игнорируется для обратной совместимости
  • -r, --regexp REGEXP -- Использовать базовое регулярное выражение
  • --regex -- Использовать расширенное регулярное выражение
  • -q, --quiet -- Тихий режим, сообщения об ошибках не будут отображаться
  • -s, --stdio -- Игнорируется для обратной совместимости
  • -o -- Указать имя базы данных
  • -h, --help -- Показать справку
  • -i, --ignore-case -- Игнорировать регистр
  • -V, --version -- Показать информацию о версии

Примеры

Чтобы найти файл passwd, введите следующую команду:

locate passwd

Найдите в каталоге etc все файлы, начинающиеся с sh:

locate /etc/sh

Игнорируйте регистр и найдите в текущем каталоге пользователя все файлы, начинающиеся с r:

locate -i ~/r

Дополнительные примечания

отличается от find: find ищет на жестком диске, тогда как locate ищет только в базе данных /var/lib/slocate.

locate быстрее, чем find. На самом деле он не выполняет поиск, а обращается к базе данных. Обычно база данных файлов находится в /var/lib/slocate/slocate.db, поэтому поиск locate не работает в реальном времени, а основан на обновлении базы данных. Обычно система поддерживает её самостоятельно, а также можно вручную обновить базу данных с помощью команды:

updatedb

По умолчанию updatedb выполняется один раз в день.

Linux 命令大全Справочник команд Linux

Другие расширения