それほど頻繁ではありませんが、特定のディレクトリにあるファイルの数を確認する必要がある場合があります。たとえば、Linuxシステムのinodeを使い果たした場合、何千または何百万ものファイルが含まれているディレクトリを見つける必要があります。
この記事では、Linuxでディレクトリ内のファイルの数を見つけるためのいくつかの異なる方法を紹介します。
ディレクトリ内のファイルをカウントする#
ディレクトリ内のファイルをカウントする最も簡単な方法は、ls
を使用して1行に1つのファイルをリストすることです。 出力をwc
にパイプします 行を数えるには:
ls -1U DIR_NAME | wc -l
上記のコマンドは、ディレクトリとシンボリックリンクを含むすべてのファイルの合計を提供します。 -1
オプションは、1行に1つのファイルをリストし、-U
をリストすることを意味します ls
に通知します コマンドの実行を高速化する出力をソートしないようにします。
ls -1U
コマンドは隠しファイル(ドットファイル)をカウントしません。
ファイルのみをカウントし、ディレクトリを含めない場合は、次を使用します。
ls -1Up DIR_NAME | grep -v / | wc -l
-p
オプションはls
を強制します スラッシュを追加するには(/
)ディレクトリへのインジケータ。出力はgrep -v
にパイプされます ディレクトリを除外するコマンド。
リストされるファイルをより細かく制御するには、find
を使用します ls
の代わりにコマンド :
find DIR_NAME -maxdepth 1 -type f | wc -l
-type f
オプションはfind
に指示します ファイル(ドットファイルを含む)のみを一覧表示するには、-maxdepth 1
検索を第1レベルのディレクトリに限定します。
ディレクトリ内のファイルを再帰的にカウントする#
ディレクトリ内のファイルを再帰的にカウントするには、find
を実行します 次のようにコマンドを実行します:
find DIR_NAME -type f | wc -l
ファイルのカウントに使用できるもう1つのコマンドは、tree
です。 ディレクトリの内容をツリーのような形式で一覧表示します:
tree DIR_NAME
出力の最後の行には、リストされているファイルとディレクトリの総数が表示されます。
15144 directories, 91311 files
結論#
ls
を使用してディレクトリ内のファイルをカウントする方法を示しました 、find
およびtree
コマンド。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。