Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 22 ноября, 2025

Подсчёт количества файлов и каталогов в определённой папке

Подсчёт количества файлов и каталогов в определённой папке

Вы хотите узнать количество файлов (либо .txt.sh, либо .jpg) или каталогов, находящихся в определенном каталоге в Linux? Тогда вы попали по адресу. В этой статье вы узнаете, как определить количество файлов и каталогов в определенном каталоге.

 

Подсчёт количества файлов и каталогов в определённой директории

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

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

Итак, давайте начнём эту статью с поиска и подсчёта количества каталогов в определённом каталоге Linux.

 

Поиск и подсчёт количества каталогов в определённом каталоге

Нам нужно знать две вещи: во-первых, количество каталогов в определённом каталоге, а во-вторых, количество вложенных каталогов (каталогов внутри других каталогов) в этом конкретном каталоге.

Итак, начнём с определения количества каталогов в определённом каталоге с помощью следующей команды:

$ find my_dir/* -mindepth 0 -maxdepth 0 -type d

 

Чтобы узнать, какие каталоги (включая вложенные) находятся в определённом каталоге, можно использовать следующую команду:

$ find my_dir/* -type d

 

Наконец, вместо того чтобы выводить их на экран, вы можете подсчитать количество вхождений каталогов и вывести общую сумму с помощью команды wc:

$ find my_dir/* -mindepth 0 -maxdepth 0 -type d | wc -l
$ find my_dir/* -type d | wc -l

 

Поиск и подсчет количества файлов в определенной папке

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

$ find my_dir/* -mindepth 0 -maxdepth 0 -type f

 

Чтобы найти все файлы в определённом каталоге (включая файлы в других каталогах), можно использовать следующую команду:

$ find my_dir/* -type f

 

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

$ find my_dir/* -mindepth 0 -maxdepth 0 -type f | wc -l
$ find my_dir/* -type f | wc -l

 

 

Поиск и подсчет количества определенных файлов в определенной папке

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

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

$ find my_dir/* -mindepth 0 -maxdepth 0 -type f -name "*.txt"
$ find my_dir/* -mindepth 0 -maxdepth 0 -type f -name "*.sh"

 

Чтобы узнать количество определённых файлов во всех вложенных каталогах, можно использовать следующую команду:

$ find my_dir/* -type f -name "*.txt"
$ find my_dir/* -type f -name "*.sh"

 

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

$ find my_dir/* -type f -name "*.txt" | wc -l
$ find my_dir/* -type f -name "*.sh" | wc -l

 

В моём каталоге нет изображений, но если они у вас есть и вы хотите их найти, вы можете указать в команде find несколько расширений файлов изображений, например .jpg, .png, .gif

$ find my_dir/* -type f \( -name "*.png" -o -name "*.jpg" \)

 

Получите сводную информацию обо всех файлах и каталогах в определенной папке

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

$ tree my_dir/ | tail -1
Exit mobile version