Dateien im Verzeichnis rekursiv zählen

Count Files Directory Recursively

Manchmal ist es notwendig, die genaue Anzahl der Dateien herauszufinden, die in einem bestimmten Verzeichnis verfügbar sind. Das Problem tritt auf, wenn das Verzeichnis ein oder mehrere Unterverzeichnisse enthält. Je nach Anzahl der Dateien und Verzeichnisse kann ein manuelles Zählen praktisch unmöglich sein.

In diesem Handbuch erfahren Sie, wie Sie unter Linux Dateien in einem Verzeichnis rekursiv zählen.



Dateizählung

Grundlegende Dateizählung
Zur Demonstration hier ein Beispielverzeichnis mit mehreren Unterverzeichnissen.



$ tree demo_dir



Wie Sie sehen, druckt der Befehl tree die gesamte Verzeichnisstruktur rekursiv mit der Anzahl der Dateien am Ende. Wenn jedoch die Anzahl der Dateien und Verzeichnisse zu groß ist, ist das Abrufen eines Berichts ineffizient.

Eine alternative Möglichkeit besteht darin, die Befehle find und wc zu verwenden. Zuerst generiert der find-Befehl eine Liste von Dateien innerhalb des Verzeichnisses. Dann zählt der Befehl wc die Ausgabezeile und bestimmt die Anzahl der Dateien.

Der Befehl sieht ungefähr so ​​​​aus.



$ find -type f | wc -l

Im Fall des find-Befehls folgt hier eine kurze Erklärung der Flags und Argumente.

  • : Das Verzeichnis, in dem die Dateizählung durchgeführt werden soll.
  • -type f: Bestimmt den Dateityp (Datei/Verzeichnis), nach dem gesucht werden soll. Hier steht f nur für Dateien.

Im Fall des wc-Befehls ist hier eine kurze Erklärung des Flags.

  • -l: Zählt die Anzahl der Zeilen. Es funktioniert, indem es die Anzahl der Zeilenumbruchzeichen in der Ausgabe zählt.

Wenden wir den Befehl auf unser Testverzeichnis an.

$ find ./demo_dir -type f | wc -l

Wenn möglich, wird empfohlen, den vollständigen Pfad des Verzeichnisses zu verwenden.

$ find /home/viktor/Desktop/demo_dir -type f | wc -l

Zählen mit Verzeichnissen
Sollen auch Verzeichnisse mitgezählt werden, verwenden Sie stattdessen die folgende Befehlsstruktur. Der Befehl find gibt die Verzeichnisse und die nachfolgenden Dateien in der Ausgabe aus.

$ finden | wc -l

Verzeichnistiefe
Der Befehl find unterstützt die Verzeichnistiefe. Die Verzeichnistiefe bestimmt, wie tief die Suche bei der Suche nach Dateien abfällt.

Es gibt zwei Arten von Verzeichnistiefen, die unterstützt werden.

  • maxdepth: Die Suche mit dem maximalen Level wird absteigen. Der Wert von maxdepth ist eine nicht negative ganze Zahl.
  • mindepth: Die minimale Tiefe, die für find erforderlich ist, um auf ein Verzeichnis zu reagieren. Der Wert von mindepth ist eine nicht negative ganze Zahl.

Schauen wir uns diese Werte in Aktion an. Die Struktur des Find-Befehls würde so aussehen.

$ find -maxdepth

$ find -mindepth

Zählen von Dateien mit GUI

Wenn Sie die Möglichkeit haben, die GUI zum Überprüfen der Dateianzahl zu verwenden, können wir die Dateien in einem Verzeichnis mithilfe von Dateimanagern zählen. Mit Dateimanagern können Benutzer die Dateien und Verzeichnisse elegant verwalten. Jeder Dateimanager unterstützt alle grundlegenden Funktionen wie Suchen, Kopieren, Verschieben, Erstellen und Löschen von Dateien. Einige Dateimanager unterstützen sogar erweiterte Funktionen wie SSH-Verbindungen.

Hier sind einige der besten verfügbaren Dateimanager für Linux. Die meisten davon sollten für alle gängigen Linux-Distributionen verfügbar sein.

Nautilus Dateimanager
Es ist der Standarddateimanager des GNOME-Desktops. Es hat eine sehr einfache Benutzeroberfläche, einfache Navigation und Verwaltung.

Kasse Nautilus Dateimanager .

Konqueror-Dateimanager
Konqueror ist der Standardmanager, der mit dem KDE-Desktop geliefert wird. Es verfügt über einen vereinfachten Dateimanager mit zusätzlichen Funktionen wie FTP/SFTP-Unterstützung, smb (Windows)-Freigaben, Audio-Ripping usw.

Konqueror verwendet die KHTML-Rendering-Engine. Kasse Konqueror .

Dolphin Dateimanager
Dolphin ersetzt Konqueror als Standarddateimanager auf dem KDE-Desktop. Es ist ein kostenloser, leichtgewichtiger Open-Source-Dateimanager, der auf Einfachheit, Flexibilität und vollständige Anpassung abzielt. Es ermöglicht Benutzern ein reibungsloses Browsen, Suchen, Kopieren und Verschieben von Dateien auf dem Linux-System. Es enthält andere interessante Funktionen wie Dateivorschau, Navigation mit Registerkarten, Dateisortierung und -gruppierung usw.

Kasse Delfin .

SpaceFM-Dateimanager
Im Gegensatz zu den anderen beschriebenen Dateimanagern ist SpaceFM ein eigenständiger Dateimanager, der sich nicht auf eine Desktop-Umgebung bezieht. Es ist ein schöner Dateimanager, der für alle gängigen Linux-Distributionen verfügbar ist. Es bietet Bash-Integration, integriertes VFS und Menüanpassung usw.

Kasse RaumFM .

GNU Midnight Commander
Schließlich ist GNU Midnight Commander ein Dateimanager für die Befehlszeile. Es ist ein vollwertiger Dateimanager, aber auf dem Konsolenbildschirm. Es unterstützt alle klassischen Funktionen wie Suchen, Kopieren, Verschieben und Löschen von Dateien usw.

Kasse GNU Midnight Commander .

Abschließende Gedanken

Das Zählen von Dateien unter Linux ist überhaupt nicht schwierig. Alles, was es erfordert, ist das richtige Werkzeug und Wissen, um es herauszufinden. Hoffentlich war dieses Handbuch erfolgreich bei der Demonstration, wie Dateien in Verzeichnissen unter Linux rekursiv gezählt werden.

Viel Spaß beim Rechnen!