Как подсчитать количество файлов и подкаталогов внутри заданного каталога
Самый простой способ подсчитать количество файлов и подкаталогов в каталоге с помощью команды tree
, которая наиболее известна тем, что отображает файлы и каталоги в древовидной форме.
Хотя вы всегда можете включить квоты, чтобы ограничить дисковое пространство и использование индексных дескрипторов, чтобы избежать злоупотреблений со стороны пользователей, эта команда в любом случае может быть полезна. По умолчанию предполагается текущий рабочий каталог, если не указаны аргументы:
tree -iLf 1
Пример вывода
.
./10-Top-Linux-Distributions-of-2015.png
./adobe-flash-player-alternative.jpg
./CentOS-7-Security-Hardening-Guide.png
./coding.png
./d-logo-sketch.png
./Experts-Share-Thoughts-on-25th-Anniversary-of-the-World-Wide-Web-431806-2.jpg
./Get-Default-OS-Logo.png
./InstallCinnamonDesktoponUbuntuandFedora720x345.png
./Install-Nagios-in-CentOS.jpg
./Install-Vmware-Workstation-12-in-Linux.png
./Install-WordPress-on-CentOS-Fedora.png
./Linux-Essentials-Bundle-Course.png
./Linux-Online-Training-Courses.png
./Linux-PDF-Readers-Viewers-Tools.png
./linux-play-game.jpg
./logo.png
./nrpe-3.0.tar.gz
./Python-and-Linux-Administration-Course.png
./Ravi
./teamviewer 11 0 57095 i386
./Telegram
./tsetup.0.10.1.tar.xz
./VBoxGuestAdditions_5.0.0.iso
./Vivaldi-About.png
./VMware-Workstation-Full-12.1.1-3770994.x86_64.bundle
3 directories, 22 files
Если вы хотите просмотреть ту же информацию для /var/log
, выполните:
tree -iLf 1 /var/log
Пример вывода
/var/log
/var/log/alternatives.log
/var/log/apt
/var/log/aptitude
/var/log/auth.log
/var/log/boot.log
/var/log/bootstrap.log
/var/log/btmp
/var/log/btmp.1
/var/log/ConsoleKit
/var/log/cups
/var/log/dmesg
/var/log/dpkg.log
/var/log/faillog
/var/log/fontconfig.log
/var/log/fsck
/var/log/gpu-manager.log
/var/log/hp
/var/log/installer
/var/log/kern.log
/var/log/lastlog
/var/log/mdm
/var/log/mintsystem.log
/var/log/mintsystem.timestamps
/var/log/ntpstats
/var/log/samba
/var/log/speech-dispatcher
/var/log/syslog
/var/log/syslog.1
/var/log/teamviewer11
/var/log/unattended-upgrades
/var/log/upstart
/var/log/vbox-install.log
/var/log/wtmp
/var/log/wtmp.1
/var/log/Xorg.0.log
/var/log/Xorg.0.log.old
13 directories, 23 files
Введите команду ниже, чтобы просмотреть информацию о файлах и подкаталогах в каталоге ISO
.
tree -iLf 1 ISOs
Пример вывода
ISOs
ISOs/CentOS-6.5-x86_64-minimal.iso
ISOs/CentOS-7.0-1406-x86_64-Minimal.iso
ISOs/CentOS-7-x86_64-DVD-1503-01
ISOs/ces-standard-3.3-x86_64.iso
ISOs/debian-8.1.0-amd64-CD-1.iso
ISOs/kali-linux-2.0-i386
ISOs/openSUSE-13.2-DVD-x86_64.iso
ISOs/rhel-server-7.0-x86_64-dvd.iso
ISOs/ubuntu-14.04.2-desktop-amd64.iso
ISOs/ubuntu-14.04.3-server-amd64.iso
ISOs/VL-7.1-STD-FINAL.iso
ISOs/Win10_1511_1_English_x32.iso
ISOs/Win10_1511_1_Spanish_64.iso
2 directories, 11 files
Объяснение параметров tree
, используемых в приведенной выше команде:
-i
– графический параметр, позволяющий дереву распечатывать линии отступов.-L
— указывает уровень глубины отображаемого дерева каталогов, который в приведенном выше случае равен 1.-f
— заставляет дерево печатать полный префикс пути для каждого файла.
Как вы можете видеть на изображении выше, после перечисления всех файлов и подкаталогов tree
показывает общее количество каталогов и файлов в указанном вами каталоге.
Рекомендуется к прочтению: Шифрование и расшифровка файлов и каталогов с помощью Tar и OpenSSL
Вы можете обратиться к странице руководства по дереву, чтобы узнать о более полезных параметрах, некоторых файлах конфигурации и переменных среды, чтобы лучше понять, как оно работает.
Заключение
Здесь мы рассмотрели важный совет, который может помочь вам использовать утилиту tree
иначе, чем ее традиционное использование, для отображения файлов и каталогов в древовидной форме.
Вы можете создавать новые подсказки, используя многочисленные параметры дерева на странице руководства. Есть ли у вас какой-нибудь полезный совет по использованию дерева? Затем поделитесь им с миллионами пользователей Linux по всему миру через форму обратной связи ниже.