Как найти файлы по расширению в Linux

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

В этом руководстве мы рассмотрим различные методы или утилиты Linux, которые помогут Вам найти нужные файлы в каталоге с различными расширениями.

1. Поиск файлов с определенными расширениями в Linux

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

Приведем синтаксис команды find для поиска всех файлов, имеющих определенное расширение.

find . -type f -name "*.<fileExtension>"

Здесь приведен синтаксис:

  • -type – Этот флаг указывает тип документов для поиска, причем "f" определяет тип как «file».
  • -name – Предназначен для поиска файлов по их именам. В нашем случае имеются расширения, поэтому флаг -name ограничивает поиск конкретным расширением, указанным после него.
  • "*.<fileExtension>" – Флаг * представляет все файлы, имеющие определенные расширения.

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

Поиск конфигурационных файлов в Linux

Мы найдем все файлы с расширением «.conf», выполнив команду, приведенную ниже.

find . -type f -name "*.conf"

Как вы заметили, команда успешно перечислила все файлы с расширением .conf (конфигурационные файлы).

Поиск Zip-файлов в Linux

Перед этим попробуем найти все файлы с расширением .zip в каталоге «Documents», выполнив указанную команду.

find ~/Documents -type f -name "*.zip"

Поиск нескольких файлов (расширений) в Linux

Для одновременного поиска файлов с различными расширениями можно использовать команду «find» с флагом -o. Например, приведенная ниже команда найдет все файлы с расширениями .xconf и .zip.

find ~/ \( -name "*.xconf" -o -name "*.zip" \)

2. Поиск файлов по расширениям с помощью команд Find и Grep

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

Синтаксис команды find с командой grep для поиска файлов по расширениям приведен ниже.

find . -type f | grep 

Давайте разберемся в приведенном синтаксисе:

  • | – Используется для объединения двух команд, в нашем случае: find и grep. Она получает вывод от команды find, т.е. все файлы в каталоге, и передает их на вход фильтру grep, который отфильтрует файлы с определенным расширением и выведет их список.
  • grep – Это ключевое слово для команды grep, которая фильтрует файлы с определенным расширением.
  • <fileExtension> – Расширение файла – это тип файла, который вы должны искать.

Поиск PNG-файлов в Linux

Для поиска файлов в каталоге «Downloads» выполним указанную ниже команду, и команда grep отфильтрует файлы только с расширением .png.

find ~/Downloads -type f | grep .png

3. Поиск файлов по расширениям с помощью команд Grep и ls

Если вам уже известен каталог, в котором находятся ваши файлы, перейдите в него, а затем используйте команду ls для поиска файлов по расширениям из текущего каталога. Однако для получения желаемого результата мы можем дополнительно использовать команду grep.

ls | grep -i ".<fileExtension>"

Проанализируем представленный синтаксис:

  • ls – Эта команда выводит список файлов и каталогов в текущем рабочем каталоге.
  • | – Она объединяет команду ls с командой grep, чтобы предоставить все файлы в текущем каталоге команде grep для поиска файлов по расширению.
  • -i – Этот флаг позволяет команде grep искать определенный текстовый шаблон в файлах независимо от регистра букв.

Давайте выполним приведенную ниже команду, чтобы найти все файлы расширения «.conf» в текущем каталоге независимо от регистра букв.

ls | grep -i ".conf"

Теперь, когда вы использовали команды «find» и «ls», давайте обсудим еще одну команду для поиска файлов по расширениям в Linux.

4. Поиск файлов по расширениям с помощью команды locate

Команда «locate» – мощная утилита, используемая для поиска файлов и каталогов в большинстве систем Linux с помощью заранее созданной базы данных имен файлов и путей, что делает ее удобной и простой в использовании.

locate "<fileName>"

В большинстве систем Linux он поставляется предустановленным, однако если у вас его нет, вы можете установить его с помощью менеджера пакетов, как показано на рисунке.

sudo apt install mlocate [On Debian, Ubuntu and Mint]
sudo yum install mlocate [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/mlocate  [On Gentoo Linux]
sudo apk add mlocate [On Alpine Linux]
sudo pacman -S mlocate [On Arch Linux]
sudo zypper install mlocate [On OpenSUSE] 

После установки выполните следующую команду для обновления базы данных файлов, используемой командой locate в вашей системе.

sudo updatedb

После завершения процесса updatedb вы можете использовать команду locate для быстрого поиска файлов и каталогов в вашей системе на основе их имен или расширений, как показано на рисунке.

locate ".xconf"

5. Поиск файлов по расширениям с помощью средств графического интерфейса

После того как мы рассмотрели все команды командной строки, давайте рассмотрим метод поиска файлов с помощью графического интерфейса. Некоторые предпочитают использовать графический интерфейс, а не команды CLI.

Чтобы найти файлы с нужными расширениями в любом файле, выполните следующие действия:

  • Откройте File Manager.
  • Перейдите в любую директорию, в которой вы хотите найти файлы.
  • Активируйте строку поиска и введите нужное расширение, например .zip, как показано на рисунке.

Мы успешно нашли все файлы с расширением .zip.

Заключение

Расширения файлов – это суффикс, который появляется после . (dot) в имени файла. Иногда пользователи хотят найти файлы с определенным расширением. В данном руководстве представлено множество методов поиска файлов по расширениям.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.ubuntumint.com

Похожие статьи

Комментарии (0)