- Команда Locate в Linux (Поиск Файлов и Каталогов)
- Locate Command in Linux
- В этом руководстве мы объясним, как использовать locate команду.
- Установка locate (если команда locate не найдена)
- Установить locate на Ubuntu и Debian
- Установить locate на CentOS и Fedora
- Как locate работает
- Как использовать locate команду
- Вывод
- Команда Locate в Linux
- Установка команды locate (команда locate не найдена)
- Установка locate на Ubuntu и Debian
- Установка locate на CentOS и Fedora
- Как работает locate
- Как использовать команду locate
- Заключение
- linux-notes.org
- Установка locate и updatedb в Unix/Linux
- Установка locate и updatedb в Unix/Linux
- Использование locate и updatedb в Unix/Linux
Команда Locate в Linux (Поиск Файлов и Каталогов)
Locate Command in Linux
В этом руководстве мы объясним, как использовать locate команду.
Одна из наиболее распространенных операций при работе в Linux — поиск файлов и каталогов. В системах Linux есть несколько команд, которые позволяют вам искать файлы find и locate быть наиболее часто используемыми.
Команда locate — самый быстрый и простой способ поиска файлов и каталогов по их именам.
Установка locate (если команда locate не найдена)
В зависимости от дистрибутива и от того, как была предоставлена система, пакет locate может быть или не быть предварительно установлен в вашей системе Linux.
Чтобы проверить, установлена ли locate утилита в вашей системе, откройте терминал, введите locate и нажмите Enter . Если пакет установлен, система отобразит locate: no pattern to search for specified , в противном случае вы увидите что-то вроде locate command not found .
Если locate он не установлен, вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.
Установить locate на Ubuntu и Debian
Установить locate на CentOS и Fedora
Как locate работает
Команда locate выполняет поиск заданного шаблона в файле базы данных, сгенерированном updatedb командой. Найденные результаты отображаются на экране, по одному на строку.
Во время установки пакета mlocate создается задание cron, которое запускает updatedb команду каждые 24 часа. Это гарантирует, что база данных регулярно обновляется. Для получения дополнительной информации о работе cron проверьте /etc/cron.daily/mlocate файл.
Базу данных можно обновить вручную, выполнив updatedb команду от имени пользователя root или пользователя с привилегиями sudo:
Процесс обновления займет некоторое время, в зависимости от количества файлов и каталогов и скорости вашей системы.
Файлы, созданные после обновления базы данных, не будут отображаться в результатах поиска.
По сравнению с более мощной find командой, которая выполняет поиск в файловой системе, locate работает намного быстрее, но не имеет многих функций и может выполнять поиск только по имени файла.
Как использовать locate команду
Синтаксис locate команды следующий:
В своей основной форме, когда используется без каких-либо опций, locate команда напечатает абсолютный путь ко всем файлам и каталогам, который соответствует шаблону поиска и для которого пользователь имеет разрешение на чтение.
Например, чтобы найти файл с именем .bashrc , введите:
Вывод будет включать имена всех файлов, содержащих строку .bashrc в их именах:
/root/.bashrc Файл не будет показан , так как мы запустили команду как обычный пользователь , который не имеет право доступа к /root каталогу.
Если список результатов длинный, для лучшей читаемости вы можете направить вывод в less команду:
Команда locate также принимает шаблоны, содержащие символы-заглушки, такие как подстановочный знак * . Когда шаблон не содержит символов-глобусов *PATTERN* , которые ищет команда , поэтому в предыдущем примере отображались все файлы, содержащие шаблон поиска в своих именах.
Подстановочный знак — это символ, используемый для обозначения нуля, одного или нескольких символов. Например, для поиска всех .md файлов в системе вы должны использовать:
Чтобы ограничить результаты поиска, используйте -n параметр, за которым следует количество результатов, которые вы хотите отобразить. Например, следующая команда будет искать все .py файлы и отображать только 10 результатов:
По умолчанию locate выполняет поиск с учетом регистра. Опция -i ( —ignore-case ) указывает locate на игнорирование регистра и запуск поиска без учета регистра.
Чтобы отобразить количество всех совпадающих записей, используйте параметр -c ( —count ). Следующая команда вернет номер всех файлов, содержащихся .bashrc в их именах:
По умолчанию locate не проверяет, существуют ли найденные файлы в файловой системе. Если вы удалили файл после последнего обновления базы данных, если файл соответствует шаблону поиска, он будет включен в результаты поиска.
Чтобы отобразить только имена файлов, которые существуют в данный момент, locate используйте параметр -e ( —existing ). Например, следующее вернет только существующие .json файлы:
Если вам нужно выполнить более сложный поиск, вы можете использовать опцию -r ( —regexp ), которая позволяет выполнять поиск, используя базовое регулярное выражение вместо шаблонов. Эта опция может быть указана несколько раз.
Например, для поиска всех файлов .mp4 и .avi файлов в вашей системе и игнорирования регистра вы должны выполнить:
Вывод
Команда locate ищет в файловой системе файлы и каталоги, чье имя соответствует заданному шаблону. Синтаксис команды легко запомнить, а результаты отображаются практически мгновенно.
Для получения дополнительной информации обо всех доступных опциях типа locate команды man locate в вашем терминале.
Источник
Команда Locate в Linux
Команда locate – самый быстрый и простой способ поиска файлов и каталогов по их именам.
В этой статье мы объясним, как использовать команду locate в Linux.
Установка команды locate (команда locate не найдена)
В зависимости от дистрибутива и от того, как была предоставлена система, пакет locate может быть или не быть предварительно установлен в вашей системе Linux.
Чтобы проверить, установлена ли утилита locate в вашей системе, откройте терминал, введите locate и нажмите Enter. Если пакет установлен, система отобразит locate: no pattern to search for specified, в противном случае вы увидите что-то вроде locate command not found.
Если locate не установлен, вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.
Установка locate на Ubuntu и Debian
Установка locate на CentOS и Fedora
Как работает locate
Команда locate выполняет поиск заданного шаблона в файле базы данных, сгенерированном командой updatedb. Найденные результаты отображаются на экране, по одному на строку.
Во время установки пакета mlocate создается задание cron, которое запускает команду updatedb каждые 24 часа. Это гарантирует, что база данных регулярно обновляется. Для получения дополнительной информации о работе cron проверьте файл /etc/cron.daily/mlocate.
Базу данных можно обновить вручную, выполнив команду updatedb от имени пользователя root или пользователя с привилегиями sudo:
Процесс обновления займет некоторое время, в зависимости от количества файлов и каталогов и скорости вашей системы.
Файлы, созданные после обновления базы данных, не будут отображаться в результатах поиска.
По сравнению с более мощной командой find, которая выполняет поиск в файловой системе, locate работает намного быстрее, но не имеет многих функций и может выполнять поиск только по имени файла.
Как использовать команду locate
Синтаксис команды locate следующий:
В своей основной форме, когда используется без каких-либо опций, команда locate напечатает абсолютный путь ко всем файлам и каталогам, который соответствует шаблону поиска и для которого пользователь имеет разрешение на чтение.
Например, чтобы найти файл с именем .bashrc, введите:
Вывод будет включать имена всех файлов, содержащих строку .bashrc в их именах:
Файл /root/.bashrc не будет показан, так как мы запустили команду как обычный пользователь, который не имеет право доступа к каталогу /root.
Если список результатов длинный, для лучшей читаемости вы можете направить вывод в команду less:
Команда locate также принимает шаблоны, содержащие символы-заглушки, такие как подстановочный знак *. Когда шаблон не содержит символов-глобусов *PATTERN*, которые ищет команда, поэтому в предыдущем примере отображались все файлы, содержащие шаблон поиска в своих именах.
Подстановочный знак – это символ, используемый для обозначения нуля, одного или нескольких символов. Например, для поиска всех файлов .md в системе вы должны использовать:
Чтобы ограничить результаты поиска, используйте -nпараметр, за которым следует количество результатов, которые вы хотите отобразить. Например, следующая команда будет искать все файлы .py и отображать только 10 результатов:
По умолчанию locate выполняет поиск с учетом регистра. Опция -i( –ignore-case) указывает locate на игнорирование регистра и запуск поиска без учета регистра.
Чтобы отобразить количество всех совпадающих записей, используйте параметр -c( –count). Следующая команда вернет номер всех файлов, содержащихся .bashrc в их именах:
По умолчанию locate не проверяет, существуют ли найденные файлы в файловой системе. Если вы удалили файл после последнего обновления базы данных, если файл соответствует шаблону поиска, он будет включен в результаты поиска.
Чтобы отобразить только имена файлов, которые существуют в данный момент, в locate используйте параметр -e( –existing). Например, следующее вернет только существующие файлы .json:
Если вам нужно выполнить более сложный поиск, вы можете использовать опцию -r( –regexp), которая позволяет выполнять поиск, используя базовое регулярное выражение вместо шаблонов. Эта опция может быть указана несколько раз.
Например, для поиска всех файлов .mp4 и .avi в вашей системе и игнорирования регистра вы должны выполнить:
Заключение
Команда locate ищет в файловой системе файлы и каталоги, чье имя соответствует заданному шаблону. Синтаксис команды легко запомнить, а результаты отображаются практически мгновенно.
Для получения дополнительной информации обо всех доступных опциях команды locate, наберите man locate в вашем терминале.
Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
linux-notes.org
Установка locate и updatedb в Unix/Linux
В моей статье «Установка locate и updatedb в Linux» речь пойдет о прекрасной утилите под названием locate. ‘locate’ и ‘updatedb’ — это утилиты для поиска любых файлов на ОС Linux.
Чтобы установить их, выполните шаги что приведены ниже.
Установка locate и updatedb в Unix/Linux
Установка locate и updatedb в Debian/Ubuntu/Mint:
Установка locate и updatedb в CentOS/Fedora/RedHat:
Установка locate и updatedb в Mac OS X:
Или создаем алиас в .bashrc или .zshrc:
Использование locate и updatedb в Unix/Linux
Обновляем список файлов:
И после чего можно пользоваться, например мне нужно найти расположение файла datedetector.py (для добавление конфигурации fail2ban), то для этого нужно выполнить:
Данное руководство документирует версию GNU о updatedb, которая обновляет базы данных всех имен для файлов, используемые GNU locate. Базы данных имен всех файлов содержат списки файлов, которые были найдены в ходе сканирования данной утилиты. Имя файла базы данных по умолчанию определяется при установке и настройке locate и updatedb. Частота, с которой выполняется обновление баз и каталогов, для которых они содержат записи зависит от того, как часто updatedb запускается и так же от аргументов которые переданы в конфиге.
В сетевых средах, часто имеет смысл создать базу данных в корне каждой файловой системы, содержащий записи для этой файловой системы. Запустите updatedb для каждой файловой системы на файловом сервере, где это файловая система находится на локальном диске. Пользователи могут выбрать, какие базы данных нужно искать с помощью переменной среды или параметра командной строки. Базы данных не могут быть объединены вместе.
Новый GNU locate можно прочитать и старые, и новые форматы баз данных.
Опции для updatedb.
-u
Создать slocate базу данных, начиная с корневого каталога. Это происходит по умолчанию, если вызывается updatedb.
-U path
Создать slocate базу данных, начиная с указанного пути.
-e dirs
Исключить каталоги разделенными запятыми из базы данных slocate.
-f fstypes
Исключить файловые системы, разделенные запятыми из базы данных slocate.
-l
Уровень безопасности. -l 0 означает что проверки безопасности выключены, что сделает поиск быстрее. -l 1 означает что проверки безопасности включены. Это по умолчанию.
-q
Тихий режим; Сообщения об ошибках подавляются.
-v
Подробный режим; Показать файлы которые индексируются при создании базы данных.
—help
Распечатать список опций для slocate и выйти.
—version
Вывести номер версии slocate и выйти.
—output=dbfile
Файл базы данных, чтобы построить. По умолчанию зависит от системы, но обычно это/usr/local/var/locatedb.
—netuser=user
Пользователю говорится искать сетевые каталоги, как, используя SU. По умолчанию
—old-format
Создание базы данных в старом формате вместо нового.
Показывает все файлы, которые содержат строку «project». Если эта команда не работает, вам нужно будет выполнить команду:
Эта команда создает slocate базу данных, которая позволит вам использовать команду найти (slocate). Это может занять несколько минут.
Опции для locate.
-u
Создать slocate базу данных, начиная с пути /.
-U dir
Создать slocate базу данных, начиная с пути.
-e
Исключить каталоги из базы данных slocate.
-f
Исключить файлы на конкретной файловой системы из базы данных slocate.
-c
Разпарсить «/etc/updatedb.conf» при обновлении базы данных slocate.
-l
Уровень безопасности. 0 означает что проверки безопасности выключена. Это сделает Осуществляет поиск быстрее. 1 означает что проверки безопасности включены. Это по умолчанию.
-i
Делает поиск без учета регистра.
-q
Тихий режим. Сообщения об ошибках подавляются.
-n
Ограничьте количество результатов.
-r
—regexp=
Поиск по базе данных с помощью базовых регулярных выражений в POSIX.
-o
—output=
Указывает базу данных, чтобы создать ее.
-d
—database=
Указывает путь базы данных для поиска.
-h
—help вывод помощи.
-v
—verbose
Подробный режим. Отображение файлов при создании базы данных.
-V
—version
Отображение версии.
На этом, моя тема «Установка locate и updatedb в Unix/Linux» подошла к завершению.
Источник