特定のディレクトリ内のファイルとサブディレクトリの数を数える方法


tree コマンドを使用して、ディレクトリ内のファイルとサブディレクトリの数を数える最も簡単な方法。これは、ファイルとディレクトリをツリーのような形式で表示することで最もよく知られています。

ユーザーの悪用を避けるために、いつでもクォータを有効にしてディスク容量とiノードの使用を制限できますが、このコマンドはとにかく役立つ場合があります。デフォルトでは、引数が指定されていない場合、現在の作業ディレクトリが想定されます。

$ 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 – its a graphical option that enables tree to print out indentation lines
  2. -L – specifies the level of depth of the directory tree to be displayed, which in the case above is 1
  3. -f – makes tree print the full path prefix for every file

上の画像からわかるように、すべてのファイルとサブディレクトリを一覧表示した後、 tree には、指定したディレクトリ内のディレクトリとファイルの総数が表示されます。

ツリーのマニュアルページを参照して、より便利なオプション、いくつかの構成ファイル、および環境変数を見つけて、それがどのように機能するかをよりよく理解することができます。

結論

ここでは、ファイルとディレクトリをツリーのような形式で表示するために、従来の使用法とは異なる方法で tree ユーティリティを使用するのに役立つ重要なヒントについて説明しました。

マニュアルページの多数のツリーオプションを使用して、新しいヒントを作成できます。木の使用に関して何か役立つヒントはありますか?次に、以下のフィードバックフォームを通じて、世界中の何百万ものLinuxユーザーと共有してください。