システム管理者は、システムのディスク領域を常に監視している可能性があります。
サーバー上のディレクトリを参照しているときに、多くのファイルが含まれているディレクトリに出くわした可能性があります。 。
特定のディレクトリにあるファイルの数を知りたい場合があります。 、または多くの異なるディレクトリにあります。
つまり、システムのディレクトリに保存されているファイルの数をカウントする必要があります。
このチュートリアルでは、Linux上のディレクトリ内のファイルを簡単にカウントする方法を見ていきます。
wcを使用してファイルをカウントする
Linuxでディレクトリ内のファイルをカウントする最も簡単な方法は、「ls」コマンドを使用し、「wc-l」コマンドでパイプすることです。
$ ls | wc -l
Linuxでは、「wc」コマンドを使用して、バイト数、文字数、または改行数を出力します。ただし、この場合、このコマンドを使用して、ディレクトリ内のファイルの数をカウントしています。
例として、ファイル数をカウントしたいとします。 「/etc」ディレクトリに存在します。
これを実現するには、「/ etc」ディレクトリで「ls」コマンドを実行し、「wc」コマンドでパイプします。
$ ls /etc | wc -l
268
おめでとうございます。Linuxのディレクトリ内のファイルをカウントすることに成功しました。
wcコマンドを使用したコメント
「wc」コマンドを使用する際の重要なコマンドは、特定のコマンドの改行数が表示されるという事実にあります。
結果として、これら2つのコマンドには大きな違いがあります
$ ls -l | wc -l
269
$ ls | wc -l
268
これらの2つのコマンドで同じ出力が得られると思っても、実際にはそうではありません。
「-l」オプションを指定して「ls」を実行すると、このディレクトリ内のすべてのファイルの合計ディスク割り当ての行も出力されます。
結果として、カウントされるべきではない行をカウントし、最終結果を1つ増やします。
findを使用してファイルを再帰的にカウントする
Linuxでファイルを再帰的にカウントするには、「find」コマンドを使用し、「wc」コマンドでパイプしてファイル数をカウントする必要があります。
$ find <directory> -type f | wc -l
注意として、「find」コマンドは、システム上のファイルを検索するために使用されます。
「-f」オプションと一緒に使用すると、onyファイルをターゲットにします。
デフォルトでは、「find」コマンドはディレクトリの最初の深さで停止しません。すべてのサブディレクトリを探索し、ファイル検索を再帰的にします。
たとえば、「/ etc」ディレクトリ内のファイルを再帰的にカウントする場合は、次のクエリを記述します:
$ find /etc -type f | wc -l
2074
ディレクトリ内のファイルを再帰的にカウントする場合、すべてのサブエントリを探索する権限がない可能性があるため、コンソールで権限拒否エラーが発生します。
エラーメッセージをリダイレクトするには、「出力リダイレクト」を使用して、メッセージを「/ dev/null」にリダイレクトすることができます。
$ find /etc -type f 2> /dev/null | wc -l
2074
素晴らしい、Linuxのディレクトリ内のファイルを再帰的にカウントしました!
ツリーを使用してファイルをカウント
ディレクトリ内のファイルとディレクトリを数える簡単な方法は、「tree」コマンドを使用して、検査するディレクトリの名前を指定することです。
$ tree <directory>
3 directories, 3 files
ご覧のとおり、ファイルとディレクトリの数はツリーコマンドの下部にあります。
「tree」コマンドは、デフォルトではすべてのホストにインストールされているわけではありません。
「tree:コマンドが見つかりません」または「tree:そのようなファイルまたはディレクトリがありません」がある場合は、システムにsudo権限を使用してインストールする必要があります。
$ sudo apt-get install tree (for Ubunbu/Debian hosts)
$ sudo yum install tree (for CentOS/RHEL hosts)
ツリーで非表示のファイルをカウントする
場合によっては、システム上の非表示のファイルをカウントしたい場合があります。
デフォルトでは、「tree」、「find」、「ls」コマンドのいずれを使用していても、非表示のファイルはターミナル出力に出力されません。
ツリーを使用して非表示のファイルをカウントするには、「tree」を実行し、「all」に「-a」オプションを追加してから、分析するディレクトリを追加する必要があります。
$ tree -a <directory>
たとえば、「/ home」ディレクトリ内のファイルとディレクトリを数えると、複数の非表示ファイルが存在するため、違いがあることがわかります。
$ tree /home/user
4321 directories, 27047 files
$ tree -a /home/user
9388 directories, 32633 files
グラフィカルユーザーインターフェイスを使用したファイルのカウント
KDEやGNOMEなどのデスクトップインターフェイスを使用している場合は、ディレクトリ内のファイルを数える方が簡単な場合があります。
KDE Dolphin File Manager
ディレクトリ内のファイル数をすばやく見つける方法は、Dolphinファイルマネージャを使用することです。
ユーザーインターフェイスの左下隅をクリックし、[DolphinFileManager]エントリをクリックします。
Dolphin File Managerを使用しているときに、探索するフォルダーに移動します。
フォルダを右クリックして、[プロパティ]オプションを選択します。
「プロパティ」ウィンドウが開き、選択したディレクトリにあるファイルとサブディレクトリの数を確認できます。
すごい、KDEのディレクトリにあるファイルの数を数えました!
GNOMEファイルマネージャー
デスクトップ環境としてGNOMEを使用している場合は、デスクトップの左上隅にある[アクティビティ]メニューに移動し、[ファイル]を検索します。
「ファイルエクスプローラー」で、検査するフォルダーを選択し、右クリックして「プロパティ」オプションを選択します。
[プロパティ]ウィンドウで、選択したフォルダで利用可能な「アイテム」の数が表示されます。
残念ながら、実際の「ファイル」の数ではなく、かなり不正確であることが判明した「アイテム」の数が表示されます。
素晴らしい、Linuxのディレクトリで利用可能なアイテムの数を見つけました!
結論
このチュートリアルでは、Linux上のディレクトリ内のファイルを簡単にカウントする方法を学びました。
「wc」や「find」コマンドなどのネイティブコマンドを使用して実行できることを確認しましたが、ユーティリティをインストールしてより高速に実行することもできます。
最後に、GNOMEやKDEなどのユーザーインターフェイスを使用してそれを行う方法を確認しました。
Linuxシステム管理に興味がある場合 、ウェブサイトにはそれ専用の完全なセクションがありますので、ぜひチェックしてください!