Как узнать количество файлов в каталоге и подкаталогах
В этом руководстве мы расскажем, как отображать общее количество файлов в текущем рабочем каталоге или любом другом каталоге и его подкаталогах в системе Linux.
Мы будем использовать команду find, которая используется для поиска файлов в иерархии каталогов, вместе с командой wc, которая печатает количество новой строки, слов и байтов для каждого файла, или же данные, считываемые со стандартного ввода.
Ниже приведены параметры, которые мы можем использовать с командой find следующим образом:
-type
– указывает тип файла для поиска. В приведенном выше случаеf
означает поиск всех обычных файлов.-print
– действие для печати абсолютного пути к файлу.-l
– эта опция печатает общее количество новых строк, которое равно общему количеству абсолютных путей к файлам, выдаваемых командой find.
Общий синтаксис команды find.
find . -type f -print | wc -l
sudo find . -type f -print | wc -l
Важно. Используйте команду sudo для чтения всех файлов в указанном каталоге, включая файлы в подкаталогах с правами суперпользователя, чтобы избежать сообщения «Отказано в разрешении ». » ошибки, как на снимке экрана ниже:
Вы можете видеть, что в первой команде выше не все файлы в текущем рабочем каталоге читаются командой find.
Ниже приведены дополнительные примеры, показывающие общее количество обычных файлов в каталогах /var/log
и /etc
соответственно:
sudo find /var/log/ -type f -print | wc -l
sudo find /etc/ -type f -print | wc -l
Дополнительные примеры для Linux команды find и команды wc можно найти в следующей серии статей, где представлены дополнительные параметры использования, советы и связанные команды:
- 35 полезных примеров команд «найти» в Linux
- Как найти последние или сегодня измененные файлы в Linux
- Найдите 10 лучших каталогов и файлов на диске в Linux
- 6 полезных примеров команды wc для подсчета строк, слов и символов
Вот и все! Если вам известен какой-либо другой метод отображения общего количества файлов в каталоге и его подкаталогах, поделитесь им с нами в комментариях.