Linuxでディレクトリ内のファイル数を数える方法

Linuxのディレクトリとサブディレクトリ内のファイルの数を数える方法に頭を悩ませたことはありますか?

この簡単なチュートリアルでは、シンプルでありながら正確な方法でそれを行う方法を見ていきます。

1)wcコマンドを使用する

WCコマンド、略して Word Countは、ファイル内の行数と文字数を数えたり、改行を印刷したりするために使用されるUnix / Linuxシステムのコマンドラインツールです。 このコマンドは、一般的なカウント機能のために他の配管操作と組み合わせることもできます。

ディレクトリ内のファイル数をカウントするには、以下の構文を使用します

# ls -1 | wc -l

構文を分解して、何が何をするかを見てみましょう

ls :ファイルを一覧表示します
-1 :これは1つです。 1行に1つのエントリを出力します。 隠しファイルを印刷するには、次のように変更します -1a
| :パイプ出力を..。
wc :単語数
-l :行を数えます

ディレクトリ外のファイルの数を数える、示されているようにディレクトリ名を指定できます

# ls directory_name | wc -l

このコマンドがどのように機能するかを示すために、新しいディレクトリを作成しましょう test_folder、そしてそれにナビゲートします。

# mkdir test_folder && cd test_folder

次に、デモンストレーション用にいくつかのテキストファイルを作成します

# touch file1.txt file2.txt file3.txt file4.txt file5.txt

を使用してファイルを一覧表示することにより、ファイルの存在を確認しましょう。 ls 指図

# ls -l

出力

では、ファイルを数えましょう

# ls -1 | wc -l

出力

ディレクトリ内のファイル数をカウントする

同様に、cdコマンドを使用してディレクトリを終了できます

# cd ..

そして実行します

# ls test_folder | wc -l

出力

ディレクトリ内のファイル数をカウントする

2)ツリーコマンドを使用する

tree は、ツリーのような形式でディレクトリを再帰的に印刷するUnix / Linuxコマンドラインツールです。 各ディレクトリとその中のサブディレクトリが表示されます。 さらに、ディレクトリ内のファイル数を表示および印刷することもできます。

サンプル「test_folder」に移動します

cd test_folder

次に、treeコマンドを実行します

tree

出力

ご覧のとおり、リストの下部に表示されるカウントと一緒にファイルの名前が表示されます。 明らかに、観察により、カウントは以前に作成されたファイルの数と正確に一致します。

4)Rsyncコマンド

rsyncコマンドを使用して、ファイル、ディレクトリ、シンボリックリンクの数を見つけることができます。

# rsync --stats --dry-run -ax /etc /test

--dry-run 実際にファイルを転送するのではなく使用されます。 /test 空のフォルダまたは存在しないフォルダである必要があります。

# rsync --stats --dry-run -ax /etc /test

Number of files: 1,406 (reg: 622, dir: 187, link: 597)
Number of created files: 1,406 (reg: 622, dir: 187, link: 597)
Number of deleted files: 0
Number of regular files transferred: 622
Total file size: 2,341,951 bytes
Total transferred file size: 2,320,656 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 64,184
Total bytes received: 4,429

sent 64,184 bytes received 4,429 bytes 137,226.00 bytes/sec
total size is 2,341,951 speedup is 34.13 (DRY RUN)

3)ディレクトリとサブディレクトリを介してファイルを再帰的にカウントします

以下のコマンドを使用して、ディレクトリおよびサブディレクトリを介してファイルを再帰的にカウントするには

# find DIR_NAME -type f | wc -l

どこ:

DIR_NAME ディレクトリ名です

-タイプf ファイルのみを指定します

トイレ ((Word Count)は、入力の改行、単語、およびバイトをカウントします

-l 新しい行をカウントします

現在のディレクトリ内のファイルをカウントしている場合は、DIR_NAMEを次のようにピリオドに置き換えます。

# find . -type f | wc -l

サブフォルダー内に他のサブフォルダーとファイルを含めるには、 - type f 国旗。

find . | wc -l

この記事がお役に立てば幸いです。また、ディレクトリとサブディレクトリ内のファイルの数を快適に数えることができます。 また、試してみてください ncduツール これは、ファイル数を見つけるのにも役立つGUIツールです。