ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как считать файлы в каталоге в Linux

Как считать файлы в каталоге в Linux

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

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

 

Подсчет файлов в каталоге

Самый простой способ подсчитать файлы в каталоге — перечислить по одному файлу на строку ls и передать результат wc для подсчета строк:

ls -1U DIR_NAME | wc -l

 

Команда выше даст вам сумму всех файлов, включая каталоги и символические ссылки. Опция -1 означает, что лист один файл в каждой строке и -U говорит ls не сортировать вывод, который делает выполнение команды быстрее.

ls -1U Команда не считает скрытые файлы (точечные файлы).

 

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

ls -1Up DIR_NAME | grep -v / | wc -l

 

Параметр -p заставляет ls добавлять слэш ( /индикатор) для каталогов. Выходные данные передаются команде grep -v, исключающей каталоги.

Чтобы иметь больше контроля над тем, какие файлы перечислены, используйте команду find вместо ls:

find DIR_NAME -maxdepth 1 -type f | wc -l

 

Опция -type f говорит, что find нужно перечислить только файлы (включая точечные файлы) и -maxdepth 1 ограничить поиск каталогом первого уровня.

 

Рекурсивно считать файлы в каталоге

Для рекурсивного подсчета файлов в каталоге выполните команду find следующим образом:

find DIR_NAME -type f | wc -l

 

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

tree DIR_NAME

 

Последняя строка вывода покажет общее количество файлов и каталогов в списке:

15144 directories, 91311 files

 

Вывод

Мы показали вам, как сосчитать файлы в каталоге с помощью команд ls, find и tree.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Exit mobile version