5 команд для поиска файлов в Linux

5 команд для поиска файлов в Linux

Рубрики:

find, Linux, Терминал Linux

Метки:

, , , , ,

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

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

В этой статье мы рассмотрим 5 инструментов командной строки для быстрого поиска файлов в операционных системах семейства GNU / Linux.

Содержание:

  1. Команда find
  2. Утилита locate
  3. Инструмент grep
  4. Команда which
  5. Утилита whereis

Команда find

Команда find — одна из наиболее полезных команд Linux, особенно для тех, кто сталкивается с сотнями и тысячами файлов и папок. Данная утилита имеет более 50 опций, которые предоставляют пользователю возможность искать файлы самыми разными способами.

Вы можете использовать эту команду для нахождения файлов и каталогов на основе их:

  • разрешений;
  • типов;
  • даты;
  • владельцев;
  • размеров и т. д.

Чтобы узнать, какие опции предлагает этот инструмент — введите следующую команду:

 

find help

Давайте рассмотрим примеры использования нескольких опций. Например, попробуем найти файл по его имени:

 

Поиск по имени

Далее выведем на экран только подкаталоги данной директории. Для этого воспользуемся параметром -type d:

 

Поиск по типу
Читайте также: fd — простая и быстрая альтернатива команде find

Утилита locate

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

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

Обновление базы данных инструмента происходит автоматически, как правило — раз в сутки. Настроить желаемый интервал между сканированиями системы можно с помощью планировщика задач cron.

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

 

locate help

Рассмотрим пару примеров использования утилиты. Сперва, найдем в системе файлы, которые содержат имя mysql:

 

Нахождение mysql

Также с ее помощью можно легко подсчитать количество найденных файлов. Для этого используйте опции -c или --count. Например:

 

Количество найденных результатов

Инструмент grep

Команда grep — это мощный инструмент командной строки Linux, предназначенный для фильтрации вывода других команд. Помимо всего прочего, он используется и для поиска текста или целых строк в заданном файле. То есть, утилита ищет строки, содержащие совпадения с шаблоном, заданным пользователем.

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

 

grep help

Для примера найдем определенное слово в файле, расположенном в текущей директории. Будем использовать слово cat:

 

Поиск слова в файле

Следующий пример — поиск слова user в файле директории /etc/passwd:

 

Файл из другой директории

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

Читайте также: 12 практических примеров команды grep в Linux

Команда which

Команда which используется для определения местоположения другой команды в файловой системе Linux. Утилита ищет указанное в качестве аргумента название исполняемого файла в каталогах, перечисленных в переменной окружения PATH. При этом команда which имеет 3 вариант возвращаемых значений:

  • 0 — если все указанные команды найдены и выполняются;
  • 1 — если одна или несколько указанных команд не существуют или не выполняются;
  • 2 — если указан недопустимый параметр.

Чтобы узнать больше о команде и правилах ее использования — воспользуйтесь man:


man which

Предлагаем Вам найти расположение некоторых из команд:

 

Использование which

Далее используем опцию -a. Она позволяет вывести все совпадающие имена путей для каждого аргумента:

 

Поиск всех путей с which

Утилита whereis

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

Эта команда ищет файлы в ограниченном наборе мест (каталоги двоичных файлов, каталоги страниц руководства и каталоги библиотек). Обычно она используется для поиска исполняемых файлов программы, ее man-страниц и файлов с настройками.

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

 

whereis help

Давайте рассмотрим пару примеров на практике. Сперва узнаем, где именно выполняется поиск. Для этого введем команду с опцией -l:

 

Список, где проводится поиск

Рассмотрим второй пример — воспользуемся опцией -m. Она используется, когда Вам нужно узнать расположение справочных разделов (manuals) о командах. Например, найдем справочные страницы нескольких известных команд:

 

Опция -m whereis

Выводы

Освоить на базовом уровне утилиты поиска в ОС семейства GNU / Linux можно всего за один вечер. эти знания нужны каждому начинающему системному администратору, но пригодятся и представителям других ИТ-профессий. Надеемся, что после прочтения нашей статьи Вы узнали все необходимое о нескольких способах поиска файлов в директории и поиска строк в файле.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

find, Linux, Терминал Linux

Метки:

, , , , ,

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню