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

Count Files Directory Recursively



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

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







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

Базовый подсчет файлов
Для демонстрации вот образец каталога с несколькими подкаталогами.



$ tree demo_dir



Как видите, команда tree рекурсивно распечатает всю структуру каталогов с указанием количества файлов в конце. Однако, если количество файлов и каталогов слишком велико, получение отчета неэффективно.





Альтернативный способ - использовать команды find и wc. Сначала команда find сгенерирует список файлов в каталоге. Затем команда wc подсчитает строку вывода, определив количество файлов.

Команда будет выглядеть примерно так.



$ find -тип f | wc -l

В случае команды find вот краткое объяснение флагов и аргументов.

  • : Каталог, в котором выполняется подсчет файлов.
  • -type f: определяет тип файла (файл / каталог) для поиска. Здесь f означает только файлы.

В случае команды wc вот краткое описание флага.

  • -l: подсчитывает количество строк. Он работает, подсчитывая количество символов новой строки в выводе.

Применим команду к нашей тестовой директории.

$ find ./demo_dir -type f | wc -l

По возможности рекомендуется использовать полный путь к каталогу.

$ find / home / viktor / Desktop / demo_dir -type f | wc -l

Подсчет по каталогам
Если каталоги также должны быть включены в подсчет, используйте вместо этого следующую структуру команд. Команда find распечатает каталоги и последующие файлы в выводе.

$ найти | wc -l

Глубина каталога
Команда find поддерживает глубину каталога. Глубина каталога определяет, насколько глубоко будет происходить поиск файлов.

Есть два типа глубины каталогов, которые находят поддержку.

  • maxdepth: Максимальный уровень поиска будет уменьшаться. Значение maxdepth будет неотрицательным целым числом.
  • mindepth: минимальная глубина, необходимая для работы find с каталогом. Значение mindepth будет неотрицательным целым числом.

Давайте посмотрим на эти ценности в действии. Структура команды поиска будет выглядеть так.

$ find -maxdepth

$ find -mindepth

Подсчет файлов с использованием графического интерфейса

Если у вас есть возможность использовать графический интерфейс для проверки количества файлов, мы можем подсчитать количество файлов в каталоге с помощью файловых менеджеров. Файловые менеджеры позволяют пользователям элегантно управлять файлами и каталогами. Любой файловый менеджер поддерживает все основные функции, такие как поиск, копирование, перемещение, создание и удаление файлов. Некоторые файловые менеджеры даже поддерживают расширенные функции, такие как SSH-соединения.

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

Файловый менеджер Nautilus
Это файловый менеджер по умолчанию рабочего стола GNOME. Он имеет очень упрощенный пользовательский интерфейс, удобную навигацию и управление.

Проверить Файловый менеджер Nautilus .

Konqueror файловый менеджер
Konqueror - это менеджер по умолчанию, который поставляется с рабочим столом KDE. Он имеет упрощенный файловый менеджер с дополнительными функциями, такими как поддержка FTP / SFTP, совместное использование smb (Windows), копирование аудио и т. Д.

Konqueror использует механизм рендеринга KHTML. Проверить Konqueror .

Файловый менеджер Dolphin
Dolphin заменяет Konqueror в качестве файлового менеджера по умолчанию на рабочем столе KDE. Это бесплатный легкий файловый менеджер с открытым исходным кодом, который нацелен на простоту, гибкость и полную настройку. Это позволяет пользователям легко просматривать, находить, копировать и перемещать файлы в системе Linux. Он включает в себя другие интересные функции, такие как предварительный просмотр файлов, навигация с вкладками, сортировка и группировка файлов и т. Д.

Проверить Дельфин .

Файловый менеджер SpaceFM
В отличие от других описанных файловых менеджеров, SpaceFM - это автономный файловый менеджер, не связанный с какой-либо средой рабочего стола. Это красивый файловый менеджер, доступный для всех популярных дистрибутивов Linux. Он имеет интеграцию с bash, встроенную VFS, настройку меню и т. Д.

Проверить SpaceFM .

GNU Midnight Commander
Наконец, GNU Midnight Commander - это файловый менеджер для командной строки. Это полноценный файловый менеджер, но на экране консоли. Он поддерживает все классические функции, такие как поиск, копирование, перемещение и удаление файлов и т. Д.

Проверить GNU Midnight Commander .

Последние мысли

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

Удачных вычислений!