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

Используйте команду «Найти» для поиска файлов (с примерами)

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

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

Самое главное, что plocate прост в использовании! Я регулярно использую его для поиска изображений значков приложений, которые используются на большинстве страниц этого сайта.

1. Установите Плокате

Plocate доступен в системном репозитории, но не предустановлен в Ubuntu Linux.

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

sudo apt install plocate

2. Обновите базу данных Plocate.

Установка команды plocate автоматически создаст базу данных, которая по умолчанию доступна в каталоге /var/lib/plocate.

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

sudo updatedb

В моем случае в Ubuntu 22.04 Desktop база данных занимает всего 18 МБ дискового пространства.

3. Используйте командуlocate для поиска файлов.

Командаlocate довольно проста в использовании. Вы можете использовать его, чтобы найти файл с точным именем. Например:

locate firefox.desktop

Приведенная выше команда выведет список всех файлов firefox.desktop в вашей системе, включая полный путь.

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

В этом случае вы можете использовать -i (или --ignore-case) для выполнения поиска без учета регистра.

locate -i gthumb.desktop

Как вы видите на скриншоте, команда выводит gThumb.desktop в результатах поиска.

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

Например, вы можете искать файлы в определенном каталоге с помощью команды:

locate /usr/share/icons firefox

Приведенная выше команда будет искать файлы в каталоге /usr/share/icons, используя firefox в имени файла или пути.
Вы можете добавить дополнительные условия, например, команда ниже будет искать файлы в каталоге /usr/share/icons с помощью firefox, .svg и 64x64 в пути или имени файла.

locate /usr/share/icons/ firefox .svg 64x64

Как вы видите выше, locate также выполняет поиск по заданному ключевому слову по пути (папке и каталогу).

Чтобы пропустить их и сопоставлять только с именем файла, используйте флаг -b или (--basename).

locate --basename Papirus

Приведенная выше команда ищет только файлы, содержащие Papirus в именах файлов, но исключает папки и каталоги (но все равно печатается).

Если вы хотите подсчитать количество совпадений, используйте опцию -c или --count. В этом случае файлы не будут распечатаны, а будет показано только их общее количество.

По выбору вы также можете ограничить совпадения с помощью опции -l или --limit. В этом случае поиск прекращается после того, как будет найдено ограниченное количество совпадений.

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

Например, используйте команду ниже для поиска всех файлов .png в папке «Изображения» пользователя, после чего после screenshot следует номер в имени файла.

locate --regexp --ignore-case $HOME/pictures .*screenshot.*[0-9].*\.png$

Краткое содержание

Ubuntu Linux предоставляет пакет locate в системном репозитории, который включает команду locate для быстрого поиска файлов в системе.

Пользователь может просто запустить команду locate, следуя шаблону для поиска в файлах и путях. Допускается использование нескольких шаблонов (разделенных пробелом), и программа будет искать файлы, соответствующие каждому из них! По умолчанию он также выполняет поиск по пути (именам папок/каталогов), который можно отключить с помощью флага -b или --basename. Используйте -i или --ignore-case, чтобы выполнить поиск без учета регистра, если вы не знаете, есть ли в тексте буквы в верхнем или нижнем регистре. имена файлов.

И есть несколько других опций, таких как --limit для ограничения результатов поиска и count для вывода общего количества файлов. Опытные пользователи могут использовать регулярные выражения -r или --regexp для более гибкого поиска файлов.

Статьи по данной тематике