网站搜索

如何计算给定目录内的文件和子目录的数量


使用 tree 命令来计算目录中文件和子目录数量的最简单方法,该命令以以树状形式显示文件和目录而闻名。

尽管您始终可以启用配额来限制磁盘空间和 inode 使用以避免用户滥用,但此命令无论如何可能很有用。默认情况下,如果未给出参数,则假定当前工作目录:

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

键入以下命令可查看有关 ISOs 目录中文件和子目录的信息。

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 用户分享。