GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der schnellste Weg zum rekursiven Zählen von Dateien unter Linux

Bevor wir einen ausführlichen Rundgang durch diesen Artikelleitfaden machen, müssen wir zunächst verstehen, was der Artikel aufzudecken versucht. Wir müssen die Frage „Warum ist es wichtig, Dateien in Linux zu zählen verstehen oder beantworten? ’. Es ist das Bestreben jedes Linux-Administrators, mit den Besonderheiten seiner Betriebssystemarchitektur vertraut zu sein.

Daher ist es ebenso wichtig, den Speicherort und die Anzahl der Verzeichnisdateien zu kennen, die Sie verwalten/verwalten müssen. In diesem Fall haben Sie möglicherweise Tausende von manuell oder automatisch generierten Dateien von Systembenutzern oder Programmen und möchten deren zunehmende oder endliche Anzahl verfolgen.

Es gibt mehrere eingebaute Linux-basierte Befehle, die Ihnen in solchen Fällen leicht helfen können. Wenn wir jedoch nach dem schnellsten Mittel suchen, um das Ziel dieses Artikels zu erreichen, müssen wir wählerisch sein und andere praktikable Optionen berücksichtigen.

Schneller Weg zum rekursiven Zählen von Dateien in Linux

Nur wenige Linux-Befehle zeichnen sich dadurch aus, dass sie Dateien rekursiv und schnell zählen. Lassen Sie uns die beiden beliebtesten vergleichen.

Linux-Suchbefehl versus Suchbefehl

Zu Demonstrationszwecken zielen wir auf die Anzahl der Dateien in /home/user ab Verzeichnis des Linux-Betriebssystems.

Um den Geschwindigkeitsunterschied zwischen dem find-Befehl und dem locate-Befehl zu ermitteln, verknüpfen wir ihre Ausführung mit der eingebauten Zeit von Linux Befehl, damit wir herausfinden können, welcher Ansatz des rekursiven Zählens von Dateien schneller ist.

Da der Suchbefehl bereits auf Ihrem Linux-System vorinstalliert ist, müssen wir nur noch locate installieren Befehl, bevor wir ihren Vergleich der Ausführungsgeschwindigkeit einleiten.

$ sudo apt-get install mlocate     [On Debian, Ubuntu and Mint]
$ sudo yum install mlocate         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/mlocate  [On Gentoo Linux]
$ sudo pacman -S mlocate           [On Arch Linux]
$ sudo zypper install mlocate      [On OpenSUSE]    

In Bezug auf diesen Artikelleitfaden ist die Hauptdatei locate Befehl [OPTION] uns interessiert ist -c , -count da wir nach einer Standardausgabe suchen, die eine abgefragte Anzahl von Dateizählern widerspiegelt.

Lassen Sie uns zuerst den find-Befehl verwenden um die Anzahl der Dateien in /home/user zu zählen Verzeichnis. Ihr Befehl sollte in etwa so aussehen:

$ time find /home/dnyce -type f | wc -l

Lassen Sie uns zweitens sehen, was zu locate führt Der Befehl ergibt für das Zählen von Dateien in demselben /home/user Verzeichnis. Seine Befehlsimplementierung ist wie folgt:

$  time locate -c /home/dnyce 

Mit der Zeit Befehl, der die Ausführungszeit dieser beiden Befehle verfolgt (find und lokalisieren ), können wir feststellen, dass die locate Der Befehl hat rekursiv tiefer gegraben, um mehr Dateien in kürzerer Zeit zu zählen.

Um die Linux-Datei locate zu verwenden Befehl, müssen Sie sich an folgende Syntaxregel halten:

$ locate [OPTION]… [PATTERN]…

Indem Sie den Ort überprüfen Befehlsseite ($ man locate) , werden Sie auch feststellen, dass dieser Befehl auch für andere brauchbare dateibezogene Funktionalitäten verwendet werden kann.

Auch wenn wir einen weiteren beliebten Befehl (ls-Befehl) zum Zählen von Dateien in einem Zielverzeichnis einführen, wird er nicht rekursiv tiefer und schneller auf die Ebene von locate gelangen Befehl.

$ time ls /home/dnyce | wc -l

Der Ort Der Befehl ist schneller als find Befehl, weil sein Dateizählalgorithmus datenbankorientiert und nicht dateisystemorientiert ist wie sein Gegenstück.

Das standardmäßige Funktionsverhalten von locate Der Befehl besteht darin, die Existenz der abgefragten Datei(en) außerhalb der Reichweite der Datenbank zu ignorieren. Außerdem wird nach einer letzten erfolgreichen Datenbankaktualisierung für vorhandene Dateien die Datei locate Befehl meldet nicht sofort die Erstellung neuer Dateien.


Linux
  1. 5 Möglichkeiten, den Move-Befehl unter Linux zu verwenden

  2. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

  3. Der Befehl locate unter Linux

  4. Verstecken Sie die versteckten Linux-Dateien in Windows

  5. Der schnellste Weg, um festzustellen, ob zwei Dateien unter Unix/Linux denselben Inhalt haben?

So ändern Sie die Dateiberechtigungen in Linux rekursiv

So suchen Sie Dateien im Terminal unter Linux

So finden Sie Dateien mit dem fd-Befehl in Linux

Wie man Dateien in Linux rekursiv auflistet

So zählen Sie Dateien im Verzeichnis unter Linux

So zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux