Как быстро посчитать файлы в Linux: 3 рабочих способа

Как быстро посчитать файлы в Linux: 3 рабочих способа

Вы когда-нибудь задумывались, сколько файлов скрывается в вашей папке на Linux? Эта, казалось бы, простая задача может поставить в тупик. Представьте, что вам нужно проверить бэкап, проанализировать лог-директорию или просто навести порядок в завалах проектов. Ручной подсчет — не вариант.

Мы подготовили для вас несколько фишек командной строки, которые решат эту проблему за секунды. Вы узнаете, как использовать мощь `ls`, `find` и специальную утилиту `tree` для точного подсчета. Причем не только обычных файлов, но и папок, и даже символических ссылок.

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

Перестаньте гадать и начните считать эффективно. Откройте для себя самые практичные способы управления файлами в Linux, которые сэкономят вам массу времени и нервов. Готовы стать гуру терминала? Тогда начинаем!


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

Это может быть полезно во многих случаях, например, при написании различных скриптов и других подобных работ. Я попытаюсь охватить все возможные способы сделать это в терминале.


Содержание статьи

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

Самый простой способ решить эту задачу - использовать утилиту ls вместе с утилитой wc. Они покажут сколько файлов находится в текущей папке:

ls -l | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

В моем случае утилита выдала результат 21, но поскольку ls выводит размер всех файлов в папке строкой total, то у нас файлов на один меньше. Нужно учесть, что тут отображаются еще и директории. Каждая директория начинается с символа "d", а каждый файл с "-". Для символических ссылок используется "l". Посмотрите внимательно на вывод ls:

ls

Как быстро посчитать файлы в Linux: 3 рабочих способа

Чтобы их отсеять используйте grep:

ls -l | grep "^-" | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

 

Эта конструкция выберет только те строки, которые начинаются на дефис. Если вас интересуют не только обычные файлы, но и скрытые, то можно использовать опцию -a:

ls -la | grep "^-" | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

 

Так можно подсчитать количество папок:

ls -la | grep ^d | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

А так символических ссылок:

ls -la | grep ^l | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

Если вам нужно подсчитать количество файлов во всех подпапках, то можно использовать опцию -R:

ls -laR | grep "^-" | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

С фильтром только файлы нам уже не страшно, что команда будет выводить служебную информацию. Если вы не хотите использовать ls, можно воспользоваться утилитой find:

find . -maxdepth 1 -type f | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

Если нужно смотреть не только количество файлов в папке, но и подпапок, просто не нужно использовать -type f:

find . -maxdepth 1 | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

Только папки отдельно:

find . -maxdepth 1 -type d | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

А в случае, когда необходимо перебрать все файлы во всех подпапках, не устанавливайте параметр -maxdepth:

find . | wc

Как быстро посчитать файлы в Linux: 3 рабочих способа

Все эти команды это очень хорошо, но есть еще одно, более удобное средство посчитать количество файлов linux, это утилита tree.

Количество файлов в папке с помощью tree

Утилита tree выводит дерево файлов и папок, а потом подсчитывает их количество по отдельности. Кроме того, утилита имеет множество опций и настроек. Но она не поставляется в системе по умолчанию. Для ее установки в Ubuntu выполните:

$ sudo apt install tree

Синтаксис утилиты очень прост:

$ tree опции каталог

Теперь разберем ее основные опции:

  • -a - выводить все файлы, включая файлы, которые начинаются на точку;
  • -d - выводить только директории;
  • -l - открывать символические ссылки;
  • -f - выводить полный путь к файлу;
  • -x - оставаться только в пределах этого раздела, не переходить по точкам монтирования;
  • -L - устанавливает максимальный уровень вложенности;
  • -P - выбирать только те файлы и папки, которые подходят под регулярное выражение;
  • -I - не выводить файлы, которые подходят под регулярное выражение;
  • --prune - не выводить пустые папки;
  • -o - записать вывод в файл;

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

tree

Как быстро посчитать файлы в Linux: 3 рабочих способа

Теперь только в текущей, задаем максимальную вложенность равной единице:

tree -L 1

Как быстро посчитать файлы в Linux: 3 рабочих способа

Еще можем включить вывод всех файлов, включая скрытые:

tree -aL 1

Как быстро посчитать файлы в Linux: 3 рабочих способа

Или выберем только те, которые содержат второй символ в имени "a":

tree -aL 1 -P ?а*

Как быстро посчитать файлы в Linux: 3 рабочих способа

Выводы

В этой небольшой статье мы рассмотрели как посмотреть количество файлов в папке Linux. Как видите, это очень просто. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив