Утилита find является стандартным инструментом для поиска файлов в Linux, однако, она недостаточно быстро работает для ситуации, когда требуются мгновенные результаты. Если вы хотите найти файл в системе через командную строку, и скорость самый верхний приоритет, то есть еще одна команда, которую вы можете использовать: locate.
Рассмотрим некоторые примеры использования.

1. Как использовать команду locate в Linux.

Команда locate очень проста в использовании. Все, что вам нужно сделать, это передать ей имя файла, который вы хотите найти.
Например, если нужно найти все имена файлов, которые имеют строку имя ‘filename’ в них, то я могу сделать это с помощью найти следующим образом:

locate filename

2. Как команда locate работает и почему работает быстро.

Объяснением быстрой работы программы является то, что в отличии от find она не читает файловую систему, поиск идет в базе данных. Это с одной стороны обеспечивает скорость работы, с другой имеет существенный недостаток – после того, как вы добавляете новый файл или каталог locate ничего не найдет, необходимо провести индексацию базы.

sudo updatedb

3. Как узнать количество одинаковых записей.

locate -с filename

4. Как заставить locate выдавать только те записи, которые существуют на данный момент.

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

locate -e filename

5. Как игнорировать регистр при поиске.

Если Вы хотите, чтобы locate не делала различие между строчными и прописными нужно использовать опцию -i.

locate -i filename

6. Как вывести выдачу в одну строку.

По умолчанию, в случае нахождения нескольких результатов с одинаковыми названиями, они выводятся по очереди, каждый на новой строке (символ ASCII ‘\n’ в конце строки.) Если нужно вывести в одну строку:

locate -0 filename

7. Как узнать местоположение базы программы locate.

Используя ключ -S, можно увидеть, где расположена база программы locale, а также некоторую другую статистику: количество индексируемых каталогов, файлов, размер базы.

locate -S

8. Поиск по точному имени файла.

По умолчанию, при поиске по имени файла, например, filename – он неявно заменяется на *filename*. То есть в выдачу попадают все файлы, в которых присутствует имя filename. Как потребовать найти файлы с именами, точно совпадающие ‘filename’?

locate -r /filename $

Locate предлагает гораздо больше возможностей, но те, которые мы рассмотрели здесь должно быть достаточно чтобы дать вам общее представление.

Практические примеры использования команды locate
Метки:         

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *