Как искать файл в Linux

Поиск ПК

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Как искать файл в Linux? Как оказалось, операционная система имеет несколько очень мощных встроенных инструментов для поиска файлов. Вот что вам нужно знать.

Как найти файл в Linux из командной строки

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

Основное использование

Основное использование find выглядит следующим образом:

найти /home/jeff -name «*.jpg»

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

Переход по символическим ссылкам

По умолчанию команда find игнорирует символические ссылки. Однако следующая команда будет следовать этим ссылкам:

найти -O3 -L /var/www/ -имя «*.html»

В приведенном выше примере команда выведет список всех HTML-файлов в дереве каталогов /var/www.

Поиск пустых файлов

Теперь предположим, что вы хотите идентифицировать все пустые файлы в каталоге. Следующая команда сделает именно это:

находить . -тип f -пустой

Ключевым здесь является тип и -пустой параметры, используемые вместо флага -name в предыдущих примерах.

Дополнительные примеры

Давайте рассмотрим еще один простой пример, который вернет файлы, измененные за предыдущие 6 дней.

find /home -user randomperson -mtime 6 -iname “*.db”

В этой команде отображаются все файлы, оканчивающиеся на .db, без учета регистра, но только если файлы были изменены в течение последних 6 дней пользователем с именем randomperson.

найти с mtime

Это выполнение возвращает все файлы в данном каталоге, измененные за последние 11 дней.

Полезные параметры и оптимизации для поиска файлов Linux

Дополнительные флаги могут управлять тем, в каком порядке find применяет свои поисковые тесты. По умолчанию find сначала фильтрует результаты поиска по имени файла, прежде чем запускать какие-либо другие тесты. Этот флаг должен быть -O1, но на самом деле нет причин его включать.

Если вы передадите флаг -O2, найдите фильтры по имени файла, а затем по типу файла. Третий вариант, -O3, автоматически изменяет порядок поиска на основе эффективного использования ресурсов и вероятности возврата релевантных результатов.

Вы можете изменить больше поведения по умолчанию, используя эти параметры:

  • -maxdepth X: поиск в указанном каталоге и его подкаталогах до максимальной глубины X.
  • -iname: ищет файлы, игнорируя заглавные буквы.
  • -not: выдает только результаты, не соответствующие указанному тестовому набору.
  • -type f: ищет только файлы
  • -type d: ищет только каталоги
  • -mtime X: возвращает только те файлы, которые были изменены за предыдущие X дней.

Использование Grep для поиска файлов на основе содержимого

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

Инструментом для этого является проверенная временем команда grep. Вот как это работает.

находить . -type f -exec grep “для экземпляра” ‘{}’ \; -Распечатать

Эта команда просматривает каждый файл (-type f) в текущем дереве каталогов (обозначается . в команде). Затем он запускает grep «например» для каждого из этих файлов, печатая те, которые содержат forinstance.

найти с помощью exec grep

В этом примере находить команда возвращает любые файлы, содержащие текст «Hello»

В приведенной выше команде фигурные скобки ({}) являются заполнителем для файлов, возвращаемых командой find. Они помещаются в одинарные кавычки (‘), чтобы предотвратить отправку grep искаженного имени файла.

Команда -exec заканчивается точкой с запятой (;), которая требует экранирования (\;), чтобы Linux не пытался интерпретировать ее как другую команду или параметр.

Использование Exec для продвижения результатов поиска на один шаг вперед

Теперь, когда вы знаете, как отправить результаты поиска другой команде с помощью -exec, вам будет интересно узнать, что вы можете делать гораздо больше, чем просто выполнять grep результатов поиска. На самом деле, эта возможность позволяет легко и быстро массово изменять файлы.

находить . -name “rc.conf” -exec chmod o+r ‘{}’ \;

Введенная пользователем root в каталоге /etc, приведенная выше команда будет искать все файлы с именем rc.conf. Это изменит разрешения для каждого из этих файлов, чтобы дать владельцу файла права на чтение (chmod o+r).

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

По умолчанию -exec и -execdir продолжают работать без перерыва. Если вы предпочитаете видеть подсказки перед выполнением второй командой каких-либо действий, замените параметры на -ok или -okdir соответственно.

найти с флагом ок и подсказками

Используя -хорошо флаг, находить подскажет, прежде чем предпринимать какие-либо действия с файлами, соответствующими параметрам поиска

Чтобы действительно извлечь максимальную пользу из поиска, очень важно прочитайте ручную запись для команды.

Как искать файл в Linux с помощью графического интерфейса

Многие файловые менеджеры с графическим интерфейсом для Linux также поддерживают поиск. В Ubuntu вы можете искать определенные файлы с помощью приложения «Файлы». Просто щелкните значок папки в Dock, а затем увеличительное стекло.

как искать файл в Linux с помощью графического интерфейса

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

Изучите все тонкости Linux

Независимо от того, являетесь ли вы новичком в операционной системе Linux или используете ее уже много лет, вы всегда можете освежить свои навыки. Теперь, когда вы знаете, как искать файл в файле в Linux, может быть полезно узнать, как использовать SCP для передачи файла на другую машину.

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

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