Как найти файлы по расширению в 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) в имени файла. Иногда пользователи хотят найти файлы с определенным расширением. В данном руководстве представлено множество методов поиска файлов по расширениям.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.ubuntumint.com
Комментарии (0)