【Linux】特定のディレクトリ配下にある全てのファイルやディレクトリの数をカウントする


この記事はプロモーションを含みます。

Linux

特定のディレクトリ配下(サブディレクトリ含む)にある全てのファイルやディレクトリの数をカウントする方法を解説します。

ファイルとディレクトリを合わせてカウントする

特定のディレクトリ配下にあるファイルとディレクトリの数を合わせてカウントする方法を説明します。

findコマンドを使用した例

「.(ドット)」を指定することで、カレントディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# find . -mindepth 1 | wc -l
10

ディレクトリを指定することで、指定したディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# find ./test_dir_01/ -mindepth 1 | wc -l
5

ファイルだけをカウントする

特定のディレクトリ配下にあるファイルだけを再帰的にカウントする方法を説明します。

lsコマンドを使用した例

このコマンドについてですが、[ls -l]コマンドの結果で、先頭が[-]の行をカウントすることで、ファイルのみをカウント対象としています。(ディレクトリは先頭が[d]になります。)

[root@SYUTAKUWEB01 workspace]# ls -lR | grep ^- | wc -l
10

ディレクトリを指定することで、指定したディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# ls -lR test_dir_01/ | grep ^- | wc -l
5

findコマンドを使用した例

findコマンドにオプション「-type f」を付けることで、ファイルのみを抽出することが出来ます。

「.(ドット)」を指定することで、カレントディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# find . -mindepth 1 -type f | wc -l
10

ディレクトリを指定することで、指定したディレクトリ直下が対象になります。

[root@SYUTAKUWEB01 workspace]# find ./test_dir_01/ -mindepth 1 -type f | wc -l
5

ディレクトリだけをカウントする

特定のディレクトリ配下にあるディレクトリだけを再帰的にカウントする方法を説明します。

lsコマンドを使用した例

このコマンドについてですが、[ls -l]コマンドの結果で、先頭が[d]の行をカウントすることで、ディレクトリのみをカウント対象としています。

ディレクトリを指定しない場合は、カレントディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# ls -lR | grep ^d | wc -l
10

ディレクトリを指定することで、指定したディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# ls -lR ./test_dir_01/ | grep ^d | wc -l
5

findコマンドを使用した例

findコマンドにオプション「-type d」を付けることで、ディレクトリのみを抽出することが出来ます。

「.(ドット)」を指定することで、カレントディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# find . -mindepth 1 -type d | wc -l
10

ディレクトリを指定することで、指定したディレクトリ配下が対象になります。

[root@SYUTAKUWEB01 workspace]# find ./test_dir_01/ -mindepth 1 -type d | wc -l
2

関連記事

コメント

タイトルとURLをコピーしました