Locate linux команда не найдена

Команда locate в Linux

Одна из самых распространенных операций при работе в Linux — это поиск файлов и каталогов. В системах Linux есть несколько команд, которые позволяют искать файлы, причем поиск и определение местоположения являются наиболее часто используемыми.

Команда locate — это самый быстрый и простой способ поиска файлов и каталогов по их именам.

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

Установка locate (команда locate не найдена)

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

Чтобы проверить, установлена ли утилита locate , откройте терминал, введите locate и нажмите Enter . Если пакет установлен, система отобразит locate: no pattern to search for specified . В противном случае вы увидите что-то вроде locate command not found .

Если locate не установлен, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.

Установите locate на Ubuntu и Debian

sudo apt update sudo apt install mlocate

Установить 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 :

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc 

Файл /root/.bashrc не будет показан, потому что мы /root/.bashrc команду как обычный пользователь, у которого нет прав доступа к каталогу /root .

Читайте также:  Быстрая linux для старых

Если список результатов длинный, для лучшей читаемости вы можете направить вывод в команду less :

Команда locate также принимает шаблоны, содержащие символы подстановки, такие как подстановочный знак * . Если в шаблоне нет дополнительных символов, команда ищет *PATTERN* . Поэтому в предыдущем примере отображались все файлы, содержащие в своем имени шаблон поиска.

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

Чтобы ограничить результаты поиска, используйте параметр -n после которого укажите количество результатов, которые вы хотите отобразить. Следующая команда .py поиск всех файлов .py и отобразит только 10 результатов:

По умолчанию locate выполняет поиск с учетом регистра. Параметр -i ( —ignore-case ) указывает locate игнорировать регистр и запускать поиск без —ignore-case регистра.

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md 

Чтобы отобразить количество всех совпадающих записей, используйте параметр -c ( —count ). Следующая команда вернет количество всех файлов, содержащих .bashrc в своих именах:

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

Чтобы отображать только имена файлов, которые существуют на момент запуска locate , используйте параметр -e ( —existing ). Например, следующее будет возвращать только существующие файлы .json :

Если вам нужно выполнить более сложный поиск, используйте параметр -r ( —regexp ), который позволяет вам искать, используя базовое регулярное выражение вместо шаблонов. Этот параметр можно указывать несколько раз.
Например, чтобы найти все файлы .mp4 и .avi в вашей системе и игнорировать регистр, вы должны запустить:

Выводы

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

Для получения дополнительной информации обо всех доступных параметрах команды locate введите команду man locate в вашем терминале.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

Источник

Команда поиска не найдена

Linux Tips

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

В этом уроке вы узнаете:

Как установить команду locate на все основные дистрибутивы Linux

Если найти команда еще не установлена ​​в вашей системе, вы столкнетесь с ошибкой, такой как команда locate не найдена или bash: /usr/bin/locate: нет такого файла или каталога при попытке выполнить команду.

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

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

Читайте также:  What is loopback interface in linux

Для установки найдите на Убунту , Дебиан , и Линукс Минт :

$ sudo apt установить местонахождение.

Для установки найдите на Федора , CentOS , АлмаЛинукс , и Красная шляпа :

$ sudo dnf установить местонахождение.

Для установки найдите на Арх Линукс и Манджаро :

найти примеры команд

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

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

    Синтаксис команды очень прост. Просто укажите файл или каталог, который вы хотите найти.

Заключительные мысли

В этом уроке вы увидели, как установить найти в вашей системе Linux. найти Команда очень быстро ищет файлы, потому что она использует кешированный список для предоставления результатов, который может постоянно обновляться с помощью обновленоb команда. Теперь вы больше не должны сталкиваться с Команда поиска не найдена ошибка в вашем терминале.

Подпишитесь на новостную рассылку Linux Career Newsletter, чтобы получать последние новости, информацию о вакансиях, советы по карьере и рекомендации по настройке.

LinuxConfig ищет технического писателя (писателей), ориентированного на технологии GNU/Linux и FLOSS. В ваших статьях будут представлены различные руководства по настройке GNU/Linux и технологии FLOSS, используемые в сочетании с операционной системой GNU/Linux.

Ожидается, что при написании ваших статей вы сможете идти в ногу с технологическим прогрессом в вышеупомянутой технической области знаний. Вы будете работать самостоятельно и сможете выпускать не менее 2 технических статей в месяц.

Скопируйте и вставьте текст в терминал в Ubuntu 22.04

Скопируйте и вставьте текст в терминал в Ubuntu 22.04

Копирование и вставка текста в Linux-терминал на Убунту 22.04 может помочь любому пользователю Linux при следовании любому учебному пособию по Linux, которое требует от пользователя копирования определенных команд из учебного пособия в терминал. В.

Как найти самые большие каталоги в Linux

Как найти самые большие каталоги в Linux

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

Как удалить каталог и содержимое в Linux

Как удалить каталог и содержимое в Linux

Цель этого руководства — показать, как удалить каталог и все его содержимое на Linux-система. Возможность удалять каталоги (иногда называемые папками) является важной частью управления вашей файловой системой. Linux позволяет нам удалить любой кат.

Источник

Ubuntu 19.10: why is the «locate» command missing?

So I installed mlocate and now locate works. As far as I can remember, since Ubuntu 11.04, locate has always been there. Why was it excluded in Ubuntu 19.10?

1 Answer 1

There was this thread: mlocate — what is it good for? with this:

The Ubuntu Foundations team was recently looking at an issue with mlocate[1] and the effect it has on all users of Ubuntu. While that specific issue is fixable there are also issues[2,3] with keeping PRUNEFS and PRUNEPATHS current in updatedb.conf. So we ended up questioning the usefulness of installing mlocate by default on systems at all. We believe that find is an adequate replacement for mlocate .

This initial post called for opinions on the matter.

Читайте также:  Bodhi linux по русски

Later, in the same thread, there’s this:

My own sense is that this is not a server vs desktop thing; there are users of locate, to be sure, but I believe they are a very small minority on both desktop and server (small on desktop because the user will generally use the gui instead; small on server because most server use is not interactive at the shell). I don’t think the benefit of having locate available by default justifies the daily disk thrashing / energy usage on every Ubuntu machine everywhere. I think it’s not onerous for those who want to use locate to manually install it the first time they need it on a machine.

Well, I don’t think this is an argument for keeping mlocate installed by default on desktops, because effectively this means that you have TWO indexers on your desktop system — both tracker and mlocate. It looks like nautilus currently depends on tracker, so I’m not sure how one would uninstall it and usefully fall back to the mlocate backend anyway, but at most I’d say this should be expressed as ‘Depends: tracker | mlocate’ in nautilus, and not have mlocate kept around on the system updating its database daily just in case a user removes tracker.

The bottom line is that if you want it, just install it.

Источник

Как установить locate на CentOS?

Для быстрого поиска файлов в Linux или FreeBSD можно использовать команду locate.

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

-bash: locate: команда не найдена

-bash: locate: команда не найдена

Устанавливаем locate в CentOS

В Debian установка делается так:

Сразу можно обновить базу locate, после установки, например так

apt-get install locate ; updatedb

apt-get install locate ; updatedb

В Дебиан если даже база locate пустая ошибка не выдается, просто при поиске как бы ничего не находится, а в CentOS выводится такой ответ

locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory

locate: can not open `/var/lib/mlocate/mlocate.db’: No such file or directory

Поэтому нужно сразу обновить базу данных файлов, это делается так же, командой:

Вот так, пара нехитрых действий и можно использовать всю мощь поиска

Фразы: locate не выдает ничего, как обновить базу locate в Linux

Источник

Оцените статью
Adblock
detector