Поиск по сайту:

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


Самый простой способ подсчитать количество файлов и подкаталогов в каталоге с помощью команды 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, используемых в приведенной выше команде:

  1. -i – графический параметр, позволяющий дереву распечатывать линии отступов.
  2. -L — указывает уровень глубины отображаемого дерева каталогов, который в приведенном выше случае равен 1.
  3. -f — заставляет дерево печатать полный префикс пути для каждого файла.

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

Рекомендуется к прочтению: Шифрование и расшифровка файлов и каталогов с помощью Tar и OpenSSL

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

Заключение

Здесь мы рассмотрели важный совет, который может помочь вам использовать утилиту tree иначе, чем ее традиционное использование, для отображения файлов и каталогов в древовидной форме.

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