ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как считать файлы в каталоге в 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