23.06.2025

Как найти файлы по их содержимому в Linux

Введение

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

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

Требования

Установка

Прежде всего нам необходимо обновить все пакеты в системе и установить их:

apt update && apt upgrade -y

Скриншот №1 — Обновление

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

grep --help

Скриншот №2 — Помощь по команде

Если вы увидите опции для команды, значит, вы уже установили ее, и теперь мы можем использовать утилиту grep одним способом. Для этого введите команду, приведенную ниже:

grep -r "tt" /etc

Система выполнит поиск в каталоге /etc и его подкаталогах вхождений строки tt в любые файлы. Если таковые будут найдены, то соответствующие строки, содержащие шаблон tt, будут выведены в терминал в качестве выходных данных.

Обратите внимание, что для поиска в системных каталогах, таких как /etc, могут потребоваться привилегии администратора, поэтому в зависимости от конфигурации системы может потребоваться использование команды с повышенными правами (с помощью sudo).

grep -v "tt" /root/sometextfile.txt

В этой комбинации опций мы подбираем только целые слова, / означает корневой каталог, а -name имеет смысл искать формат и имя. Также мы можем использовать инверсный запрос, для этого достаточно ввести опцию -v для поиска всего содержимого, исключающего шаблон, а опция -l выводит имена файлов, содержащих шаблон:

grep -w -r "tt" /

Это можно использовать, например, при поиске файла количества содержимого apt list:

apt list | grep nginx

В нашем случае знак | означает pipe или оператор, который передает выход из первой команды во вторую в качестве аргумента:

Скриншот №3 — Поиск

В результате мы видим файл с упоминанием nginx в заголовке файлов или если используем опцию с точным совпадением искомого слова:

apt list | grep -w nginx

Скриншот №4 — Точный поиск

Вывод

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