Поиск файла по имени в Linux

Весьма важно уметь вовремя и очень быстро найти нужную информацию в системе. Безусловно, все современные файловые менеджеры предлагают отличные функции поиска, но им не сравнится с поиском в терминале Linux. Он очень эффективнее и гибче обычного поиска, вы можете искать файлы не только по имени, но и по дате прибавления, содержимому, а также использовать для поиска регулярные выражения. Кроме того, с найденными файлами возможно сразу же выполнять необходимые действия. Бывает, что вы знаете, что файл или каталог существует, но не видите, как его найти. Существует несколько команд, которые помогут вам в этом: find, locate и which.

Поиск файла в Linux по имени командой find

Find рекурсивно обходит указанные сборники и файлы, проверяет для них выполнение указанных условий и может вдобавок выполнять с найденными файлами подтвержденные действия. Например, самое простое действие — распечатать имя файла. Для поиска файлов из инструктивной строки вы можете использовать команду “find”. Команда find имеет следующий формат:

Читайте также:  Deb или rpm какой формат пакетов лучше выбрать для Linux

find путь эталон_для_поиска

Если вы не укажете путь, find начнет поиск заданного образца с нынешного каталога и продолжит его по всем имеющимся в нем подкаталогам. Команда find имеет множество настроек, ознакомиться с которыми можно, прочитав man-страницу (введите в командной строке man find). Почаще всего используется опция -name, которая задает поиск всех файлов и каталогов, сохраняющих в названии определенное сочетание букв.

find . -name tes

Эта команда задает поиск в нынешном каталоге всех файлов, содержащих в названии «tes».

Поиск файла в Linux по имени командой locate

Команда (Команда — группа лиц, объединённая общими мотивами, интересами) “locate” это альтернатива команде “find -name”. Команда find выискивает файлы в выбранной части файловой системы и процесс может быть не очень скорым. С другой стороны, команда locate ищет файлы в базе данный, созданной умышленно для этих целей /var/lib/locatedb, что происходит намного быстрее. Для обновления базы используется команда updatedb. С помощью этой команды вы можете увидеть все файлы или каталоги, названия каких содержат искомый образец. Например, для поиска файла, содержащего в названии слово dog, заведите в командной строке:

Читайте также:  Как правильно создать файл в терминале для разных операционных систем

locate dog

Команда locate использует базу данных для определения местопребывания файлов или каталогов, содержащих в названии слово dog. Результаты поиска могут включать файл с именем dog, файл с названием bulldog.txt, каталог с названием /dogs/ и так далее. Чтобы узнать более о команде locate, обратитесь к ее man-странице (введите в командной строке man locate). При условии, что основа данных обновлена, команда locate осуществляет поиск очень быстро. Обновление основы данных команды locate происходит каждую ночь при помощи службы cron. cron — это маленькая программа, которая запускается в фоновом режиме и выполняет различные задачи (такие как обновление основы данных команды locate) через определенные промежутки времени.

Читайте также:  Найти и удалить все временные файлы vim в Linux

Поиск файла в Linux по фамилии командой which

Команда “which” ищет все пути перечисленные в переменной PATH для подтвержденной команды. Команда which имеет следующий формат:

which команда

which демонстрирует положение бинарных, или исполняемых файлов. Вывод команды which может быть может быть полезен при создании кнопки запуска приложения. Эта процедура описана в Разд. 2.2.1, Добавление клавиши запуска приложения.

which gedit

покажет /usr/bin/gedit.

Поиск файла в Linux по фамилии командой whereis

Whereis возвращает место расположения кода (опция -b), ман-страниц (функция -m), и исходные файлы (опция -s) для указанной команды. Если опции не указываются, выводится вся вразумительная информация. Эта команда быстрее чем “find” но менее полная. Команда whereis имеет последующий формат:

whereis find

покажет положение бинарного файла, исходников и man-страницы команды find:

find: /usr/bin/find /usr/share/man/man1p/find.1p.gz /usr/share/man/man1/find.1.gz

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