Поиск файлов в операционной системе Linux с помощью терминала является важным умением для всех опытных пользователей. Поэтому, его освоение должно быть одним из приоритетов для новичков. Есть несколько утилит командной строки для поиска файлов в Linux.
Конечно же, все современные файловые менеджеры предлагают отличные и простые в использовании функции поиска. Однако, им не сравниться с поиском в терминале Linux. Прежде всего, он намного эффективнее — Вы можете искать файлы не только по имени, но и по дате добавления, содержимому и т. д. Кроме того, системному администратору часто приходится работать с системами, лишенными графического интерфейса и различных удобных надстроек.
В этой статье мы рассмотрим 5 инструментов командной строки для быстрого поиска файлов в операционных системах семейства GNU / Linux.
Содержание:
Команда find
Команда find
— одна из наиболее полезных команд Linux, особенно для тех, кто сталкивается с сотнями и тысячами файлов и папок. Данная утилита имеет более 50 опций, которые предоставляют пользователю возможность искать файлы самыми разными способами.
Вы можете использовать эту команду для нахождения файлов и каталогов на основе их:
- разрешений;
- типов;
- даты;
- владельцев;
- размеров и т. д.
Чтобы узнать, какие опции предлагает этот инструмент — введите следующую команду:
Давайте рассмотрим примеры использования нескольких опций. Например, попробуем найти файл по его имени:
Далее выведем на экран только подкаталоги данной директории. Для этого воспользуемся параметром -type d
:
Читайте также: fd — простая и быстрая альтернатива команде find
Утилита locate
Команда locate
находит файлы по их названию. Она используется для получения мгновенных результатов, когда в приоритете скорость выполнения задачи. Утилита выполняет поиск, используя базу данных, содержащую биты файлов с соответствующими путями в системе.
Важно: locate
не проверяет наличие файлов вне базы данных, то есть не сообщает о файлах, созданных после последнего обновления базы данных.
Обновление базы данных инструмента происходит автоматически, как правило — раз в сутки. Настроить желаемый интервал между сканированиями системы можно с помощью планировщика задач cron
.
Перед его использованием загляните в справочник, чтобы узнать, какие опции можно применить с командой:
Рассмотрим пару примеров использования утилиты. Сперва, найдем в системе файлы, которые содержат имя mysql
:
Также с ее помощью можно легко подсчитать количество найденных файлов. Для этого используйте опции -c
или --count
. Например:
Инструмент grep
Команда grep
— это мощный инструмент командной строки Linux, предназначенный для фильтрации вывода других команд. Помимо всего прочего, он используется и для поиска текста или целых строк в заданном файле. То есть, утилита ищет строки, содержащие совпадения с шаблоном, заданным пользователем.
Это одна из самых полезных команд для разработчиков, системных администраторов и пользователей. Более того, данная команда предустановлена в каждом дистрибутиве Linux. И предлагает широкий выбор опций, которые упрощают процесс поиска:
Для примера найдем определенное слово в файле, расположенном в текущей директории. Будем использовать слово cat
:
Следующий пример — поиск слова user
в файле директории /etc/passwd
:
Как Вы могли заметить, в обоих случаях, команда вывела на экран только те строки, которые содержат искомый шаблон.
Читайте также: 12 практических примеров команды grep в Linux
Команда which
Команда which
используется для определения местоположения другой команды в файловой системе Linux. Утилита ищет указанное в качестве аргумента название исполняемого файла в каталогах, перечисленных в переменной окружения PATH
. При этом команда which
имеет 3 вариант возвращаемых значений:
0
— если все указанные команды найдены и выполняются;1
— если одна или несколько указанных команд не существуют или не выполняются;2
— если указан недопустимый параметр.
Чтобы узнать больше о команде и правилах ее использования — воспользуйтесь man
:
Предлагаем Вам найти расположение некоторых из команд:
Далее используем опцию -a
. Она позволяет вывести все совпадающие имена путей для каждого аргумента:
Утилита whereis
Команда whereis
используется для поиска местоположения исходного / двоичного файла команды и разделов руководств для указанного файла в операционной системе Linux. В этом плане утилита похожа по функционалу на find
, но дает более точный результат, тратя меньше времени на поиск.
Эта команда ищет файлы в ограниченном наборе мест (каталоги двоичных файлов, каталоги страниц руководства и каталоги библиотек). Обычно она используется для поиска исполняемых файлов программы, ее man-страниц и файлов с настройками.
Чтобы грамотно использовать инструмент, предлагаем Вам ознакомиться с его синтаксисом и доступными опциями:
Давайте рассмотрим пару примеров на практике. Сперва узнаем, где именно выполняется поиск. Для этого введем команду с опцией -l
:
Рассмотрим второй пример — воспользуемся опцией -m
. Она используется, когда Вам нужно узнать расположение справочных разделов (manuals) о командах. Например, найдем справочные страницы нескольких известных команд:
Выводы
Освоить на базовом уровне утилиты поиска в ОС семейства GNU / Linux можно всего за один вечер. эти знания нужны каждому начинающему системному администратору, но пригодятся и представителям других ИТ-профессий. Надеемся, что после прочтения нашей статьи Вы узнали все необходимое о нескольких способах поиска файлов в директории и поиска строк в файле.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.