ディレクトリとサブディレクトリ内のファイル数を見つける方法


このガイドでは、Linuxシステム上の現在の作業ディレクトリまたはその他のディレクトリとそのサブディレクトリにあるファイルの総数を表示する方法について説明します。

ディレクトリ階層内のファイルを検索するために使用されるfindコマンドと、各ファイルの改行、ワード、およびバイトカウントを出力するwcコマンド、あるいは標準入力から読み取られたデータを使用します。

以下は、findコマンドで使用できるオプションです。

  1. -type – specifies the file type to search for, in the case above, the f means find all regular files.
  2. -print – an action to print the absolute path of a file.
  3. -l – this option prints the total number of newlines, which is equals to the total number of absolute file paths output by find command.

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コマンドを参照して、追加の使用オプション、ヒント、および関連コマンドについて次の一連の記事を参照してください。

  1. 35 Useful ‘find’ Command Examples in Linux
  2. How to Find Recent or Today’s Modified Files in Linux
  3. Find Top 10 Directoires and Files Disk Space in Linux
  4. 6 Useful ‘wc’ Command Examples to Count Lines, Words and Characters

それで全部です!ディレクトリとそのサブディレクトリ内のファイルの総数を表示する他の方法を知っている場合は、コメントでそれを共有してください。