この記事ガイドの詳細なツアーに参加する前に、まず記事の一部が何を明らかにしようとしているのかを理解する必要があります。 「Linuxでファイルをカウントすることが重要な理由」という質問を理解するか、答える必要があります。 ’。オペレーティングシステムアーキテクチャの詳細に精通することは、すべてのLinux管理者の野心です。
したがって、管理/管理する必要のあるディレクトリファイルの場所と数を知ることも同様に重要です。この場合、システムユーザーまたはプログラムによって手動または自動で生成されたファイルが何千もあり、それらの増加または有限の数を追跡したい場合があります。
このような状況で簡単に役立つLinuxベースのコマンドがいくつか組み込まれています。ただし、この記事の目的を達成するための最速の手段を探している場合は、他の実行可能なオプションを慎重に検討する必要があります。
Linuxでファイルを再帰的にカウントする高速な方法
ファイルを再帰的かつ高速にカウントするという点で目立つLinuxコマンドはほとんどありません。最も人気のある2つを比較してみましょう。
Linuxの検索コマンドと検索コマンド
デモンストレーションの目的で、 / home / user内のファイルの数をターゲットにします Linuxオペレーティングシステムのディレクトリ。
findコマンドとlocateコマンドの速度の違いを取得するために、それらの実行をLinuxの組み込みの時間に関連付けます。 コマンドを使用して、ファイルを再帰的にカウントするアプローチの方が速いかどうかを判断できます。
検索コマンド以降 Linuxシステムにすでにプリインストールされている場合は、locateをインストールするだけで済みます。 実行速度の比較を開始する前にコマンドを実行します。
$ sudo apt-get install mlocate [ Debian、Ubuntu、Mint ] $ sudo yum install mlocate [ RHEL / CentOS/Fedoraで およびRockyLinux / AlmaLinux ] $ sudo Emerge -a sys-apps / mlocate [GentooLinuxの場合 ] $ sudo pacman -S mlocate [ Arch Linux ] $ sudo zypper install mlocate [ OpenSUSEで ]
この記事ガイドを参照して、メインの場所 コマンド[オプション] 興味があるのは-c
、-count
照会されたファイル数を反映する標準出力を求めているためです。
まず、検索コマンドを使用しましょう / home / user内のファイルの数をカウントします ディレクトリ。コマンドは次のようになります。
$ time find / home / dnyce -type f | wc -l </ pre>![]()
次に、検索の結果を見てみましょう。 コマンドは、同じ / home / user内のファイルをカウントするために生成されます ディレクトリ。コマンドの実装は次のとおりです。
$ time Locate -c / home / dnyce![]()
時間で これら2つのコマンドの実行時間を追跡するコマンド(検索 および検索 )、検索に注意してください コマンドは再帰的に深く掘り下げて、より少ない時間でより多くのファイル数を生成します。
Linuxを使用するには検索 コマンドを実行するには、次の構文規則に従う必要があります。
$Locate[OPTION]…[PATTERN]…検索を確認する コマンドのマニュアルページ
($ man locate)
、このコマンドは他の実行可能なファイル関連の機能にも使用できることにも気付くでしょう。また、別の一般的なコマンド(lsコマンド)を使用してターゲットディレクトリ内のファイルをカウントしても、位置のレベルまで再帰的に深く高速になることはありません。 コマンド。
$ time ls / home / dnyce | wc -l </ pre>![]()
検索 コマンドは検索よりも高速です そのファイルカウントアルゴリズムはデータベース指向であり、対応するもののようにファイルシステム指向ではないためです。
locateのデフォルトの機能動作 コマンドは、データベースの範囲外にあるクエリされたファイルの存在を無視することです。また、既存のファイルに対する最新のデータベース更新が成功した後、検索 コマンドは、新しいファイルの作成をすぐには報告しません。
Linux