Linux: ディレクトリ内のファイル数を数えるコマンド

最終更新:2020-04-23 by Joe

Linux 環境で、ディレクトリ内にあるファイルの数を数えるためのコマンドについてまとめました。

ディレクトリ内のファイル数を数えるコマンド

# 現在のディレクトリのファイル数を数える
$ find . -type f | wc -l

Linux 系OSでは「find」は、ファイルやディレクトリを検索するコマンドですが、その出力結果の「行数」を数えることで、ファイル数をカウントすることができます。

もし、現在のディレクトリのみ(サブディレクトリを含めない)検索したければ、find に「-depth」オプションを付けて、深さ「1」を指定ます。

# 現在のディレクトリのファイル数を数える
$ find . -type f -depth 1 | wc -l

find で見つかったファイルの出力の結果を、パイプ(|) で、を次のコマンドに受け渡しています。

「-l」でLine(行数)を数えています。

ls コマンドを使って、ファイル数を数える

find コマンドでなく、ls を使った別の方法もあります。

ls コマンドは、現在のディレクトリのファイルやディレクトリを出力しますが、これを wc に食わせることで、ファイル数をカウントできます。

$ ls -1U || wc -l

-1 オプションは、1行に1ファイル表示させ、-Uオプソションでソートを停止して、高速化しています(-U は、必須ではないが、大量にファイルあると遅くなるのでつけたほうが良いです)

参考単語数や、行数、文字数・・、を数える「wc」コマンド

「wc」は、 Word Count の略ですが、単語数、行数やバイト数を数えるためのコマンドです。何を数えるかはオプションで指定します。

オプション数える対象
-lLine: 行数を数える
-cCharacter: 文字数を数える
-wWord: 単語数を数える、スペースで囲まれた文字列を1単語とする