IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [143]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [508]
    Видеорегистраторы [186]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [437]
    Накопители данных [232]
    Нетбуки, Ноутбуки, Ультрабуки [689]
    Мультиварки, блендеры и не только... [162]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [360]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4959]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [50]
    Электронные книги [101]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3981]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1120]
    Smart TV, UltraHD, приставки, проекторы... [415]
    Smart Watch [268]
    Sound: наушники, плееры, усилители... [618]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 87
    Гостей: 87
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2017 » Июнь » 3 » 8 примеров использования команды locate в Linux
    16:57
    8 примеров использования команды locate в Linux

    8 примеров использования команды locate в Linux

    Оригинал: 8 Linux Locate Command Examples for Beginners
    Автор: Himanshu Arora
    Дата публикации: 20 апреля 2017 г.
    Перевод: А.Панин
    Дата перевода: 25 апреля 2017 г.

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

    В данной статье мы будем обсуждать методику использования команды locate, рассматривая простые для понимания примеры. Помните о том, что все инструкции и примеры, приведенные в данной статье, были протестированы в системе Ubuntu 16.04 LTS с утилитой locate версии 0.26.

    1. Использование команды locate в Linux

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

    $ locate [имя-файла]
    

    Например, если вам нужно найти все файлы в именах которых содержится строка "dir2", вы можете использовать locate следующим образом:

    Примечание: команда locate dir2 (без звездочек) также вполне применима, ведь locate автоматически заменяет переданное имя файла (такое, как NAME), на соответствующий шаблон (в данном случае, *NAME*).

    2. Принцип работы locate или почему поиск осуществляется так быстро

    Причина, по которой утилита locate работает настолько быстро, заключается в том, что она не исследует файловую систему в поисках файла или директории с заданным именем. Вместо этого она использует информацию из базы данных (собранную утилитой updatedb) в процессе поиска элементов файловой системы с заданными именами и генерирует вывод на основе этой информации.

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

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

    Но при поиске файлов с теми же именами с помощью утилиты locate не будет выведено каких-либо результатов:

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

    $ sudo updatedb
    

    Теперь при исполнении приведенной выше команды locate выводится информация о найденных файлах:

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

    3. Вывод информации о количестве найденных файлов и директорий

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

    4. Вывод информации лишь о существующих в данный момент файлах

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

    Например, рассмотрим следующую ситуацию: я умышленно удалил файл filetosearch.txt с диска. Этот факт был подтвержден утилитой find, которая не смогла найти его:

    Но в случае осуществления аналогичной операции поиска с помощью утилиты locate информация о файле все еще выводилась:

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

    На странице руководства locate данный параметр описан следующим образом: "Выводить информацию лишь о тех файлах, которые существуют в момент запуска утилиты".

    5. Игнорирование регистра символов

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

    Например, в моей системе имеются два файла с именами newfiletosearch.txt и NEWILETOSEARCH.txt. Очевидно, что имена файлов отличаются лишь регистром символов. Если вы используете утилиту locate для поиска файлов по шаблону *tosearch*, она выведет лишь вариант имени файла в нижнем регистре:

    Но в случае использования параметра -i утилита будет игнорировать регистр символов имен файлов, поэтому оба имени появятся в выводе:

    6. Использование символа ASCII NUL для разделения имен файлов

    По умолчанию имена файлов, выводимые утилитой locate, разделяются с помощью символа перехода на новую строку (\n). Но при необходимости вы можете изменить этот символ, а точнее, использовать вместо него символ ASCII NUL. Для этой цели предназначен параметр -0.

    Например, я могу выполнить команду из предыдущего раздела, добавив в нее параметр -0:

    Несложно заметить, что в выводе больше не используется символ перехода на новую строку - он был заменен на символ ASCII NUL.

    7. Вывод информации о базе данных locate

    Если вам необходима информация об используемой утилитой locate базе данных, а также статистические данные, касающиеся этой базы данных, вы можете воспользоваться параметром -S:

    8. Поиск файлов с четко заданным именем

    По умолчанию при поиске файла с помощью locate переданное имя, такое, как NAME, будет автоматически преобразовываться в в шаблон поиска *NAME*. Например, при поиске файла с именем testfile будут выведены все имена файлов, соответствующие шаблону поиска *testfile*:

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

    $ locate -r /testfile$
    

    Если вы не знакомы с регулярными выражениями, рекомендую обратиться к данному материалу.

    Заключение

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

    Не стесняйтесь оставлять комментарии при возникновении любых сомнений или вопросов.

     

    http://rus-linux.net/MyLDP/consol/linux-locate-command.html

    Категория: Linux и не только | Просмотров: 402 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Июнь 2017  »
    ПнВтСрЧтПтСбВс
       1234
    567891011
    12131415161718
    19202122232425
    2627282930
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024