Меню Рубрики

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

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

Главное меню » Операционная система Linux » Подсчет количества файлов в каталоге в Linux

Мы предполагаем, что вы знаете о команде wc для подсчета количества строк. Мы можем использовать ту же команду wc с командой ls для подсчета количества файлов в каталоге.

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

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

Позвольте нам сначала показать вам содержимое тестового каталога, который я собираюсь использовать в этой статье:

Вы можете видеть, что у него есть 9 файлов (включая один скрытый файл) и 2 подкаталога в этом каталоге. Но вам не нужно делать это вручную. Давайте посчитаем количество файлов с помощью команд Linux.

Подсчитать количество файлов и каталогов (без скрытых файлов)

Вы можете просто запустить комбинацию команды ls и wc, и она отобразит количество файлов:

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

По этой причине приведенная выше команда показала мне количество файлов 10 вместо 11 (9 файлов и 2 каталога).

Подсчитать количество файлов и каталогов, включая скрытые файлы

Вы, наверное, уже знаете, что опция -s команды ls показывает скрытые файлы. Но если вы используете команду ls -a, она также отображает. (существующий каталог) и .. (родительский каталог). Вот почему вам нужно использовать параметр -A, который отображает скрытые файлы, исключая. и .. каталоги.

Это даст вам правильное количество файлов и каталогов в текущем каталоге. Посмотрите на вывод, который показывает количество 11 (9 файлов и 2 каталога):

Вы также можете использовать эту команду для достижения того же результата:

Обратите внимание, что используется опция 1 (один), а не l (L). Использование опции l (L) отображает дополнительную строку в начале вывода (см. «Всего 64» в выводе каталога в начале статьи). Использование 1 (одного) списка по одному контенту в строке, исключая дополнительную строку. Это дает более точный результат.

Подсчитать количество файлов и каталогов, включая подкаталоги

Пока что вы видите количество файлов и каталогов только в текущем каталоге. Он не учитывает файлы в подкаталогах.

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

Эта команда показывает структуру каталогов, а затем выводит сводку внизу вывода.

Как вы можете видеть в выводе, это показывает, что всего имеется 7 каталогов и 20 файлов. Хорошая вещь об этом результате – то, что он не считает каталоги в количестве файлов.

Считайте только файлы, а не каталоги

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

Вы можете запустить эту команду:

Приведенная выше команда провела поиск всех файлов (тип f) в текущем каталоге и его подкаталогах.

Подсчитывать только файлы, а не каталоги и только в текущем каталоге, а не в подкаталогах

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

Все, что вам нужно сделать, это добавить «глубину» вашей находки. Если вы установите его на 1, он не будет входить в подкаталоги.

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

Мы надеемся, что этот учебник по Linux помог вам узнать несколько вещей. Оставайтесь на связи, чтобы узнать больше советов по Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

find . -maxdepth 1 -type f | wc

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

find . -maxdepth 1 | wc

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

find . -maxdepth 1 -type d | wc

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

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

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

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

$ sudo apt install tree

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

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

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

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

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

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

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

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

Выводы

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как запустить приложение для windows на mac os
  • Как запустить на mac os файл exe
  • Как запустить дисковую утилиту при загрузке mac os
  • Как запустить гта 5 на mac os
  • Как запустить гарант на mac os