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

Первое решение (что называется «в лоб») для подсчета количества файлов в linux директории:

$ ls -f . | wc -l

Недостатки: будет выведено общее количество записей в текущей директории с учетом всех подпапок, включая текущую (.) и верхнюю (..), что, на мой взгляд, не верно. К тому же, при очень большом количестве, когда не срабатывает ls, эта команда, естественно, тоже не даст результата.

Более правильное решение:

$ find . -type f -maxdepth 1 | wc -l

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

$ find . -type f -maxdepth 2 | wc -l

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

$ find . -type f | wc -l

Посчитать общее количество всех файлы и папок с учетом вложенных директорий рекурсивно:

$ find . | wc -l

Рекурсивно посчитать количество только вложенных папок в текущей директории и всех поддиректориях можно следующим образом:

$ find . -type d | wc -l 

И наконец, если надо посчитать количество файлов определенного типа (например, фото товаров в интернет магазине):

$ find . -type f -name "*.jpg" | wc -l

В случае, если вы действительно считаете картинки товаров в магазине и их много, не забудьте, что, могли быть загружены файлы не только с расширением «.jpg», но и «.png», и «.jpeg», и «.gif», а также то, что регистр символов в имени файла в linux имеет значение. Поэтому даже для подсчета JPEG файлов имеет смысл использовать команду:

$ find . -type f -iname "*.jp*g" | wc -l
pike777

Недавние статьи

HIKVISION H99I. Заработало! Но сначала… пляски с бубном

Установка устройства производится приложением на смартфоне. Само приложение скачивается по ссылке из QR кода в…

4 года ago

Bitrix: JSON error: Syntax error

При настройке сайта, пункт "Рабочий стол - Маркетинг - Поисковая оптимизация - Поисковые системы -…

5 лет ago

Восстановление Fail2Ban на VestaCP CentOS 7

После установки Vesta CP на свежеустановленную CentOS обратил внимание, что в панели управления в разделе…

5 лет ago

Ошибка службы виртуальных дисков объект не найден (решено)

Проблема возникла с флешками после какого-то из обновлений Windows 10. Некоторые USB флешки (не все)…

6 лет ago

Зависает проводник в Windows: Программа explorer.exe прекратила взаимодействие с Windows и была закрыта.

На одном из компьютеров с Windows 10 стал зависать проводник (explorer.exe) при стандартном вызове из…

7 лет ago

mbstring в php7 для phpMyAdmin

Собственно проблема возникла, когда на одном из хостов я переехал на php7 и Bitrix попросил…

9 лет ago