1. Startseite
  2. Dateisystem
  3. Alle Dateien in einem Verzeichnis zählen

Alle Dateien in einem Verzeichnis zählen

Es gibt Situationen, in denen du herausfinden möchtest, wie viele Dateien sich in einem bestimmten Verzeichnis auf deinem Linux-System befinden. Zum Beispiel, wenn du feststellst, dass du keine Inodes mehr auf deinem Linux-System hast, musst du herausfinden, welches Verzeichnis Tausende oder Millionen von Dateien enthält.

In diesem Artikel zeigen wir dir verschiedene Möglichkeiten, wie du die Anzahl von Dateien in einem Verzeichnis unter Linux zählen kannst.

Dateien im Verzeichnis rekursiv zählen

Um Dateien im Verzeichnis rekursiv zu zählen, kannst du den Befehl tree verwenden, welcher den Inhalt von Verzeichnissen in einem baumartigen Format auflistet:

tree VERZEICHNIS_NAME 

Die letzte Zeile der Ausgabe zeigt die Gesamtzahl der aufgelisteten Dateien und Verzeichnisse:

9532 directories, 1267 files

Ein weiterer Befehl, der zum Zählen von Dateien verwendet werden kann, ist find:

find VERZEICHNIS_NAME -type f | wc -l

Dateien im Verzeichnis zählen

Die einfachste Möglichkeit, die Anzahl von Dateien in einem Verzeichnis zu zählen, ist eine Datei pro Zeile mit dem ls Befehl aufzulisten und die Ausgabe an den wc Befehl zu leiten, um die Zeilen zu zählen:

ls -1U VERZEICHNIS_NAME | wc -l

Der obige Befehl gibt dir eine Summe aller Dateien, einschließlich Verzeichnisse und Symlinks. Die Option -1 bedeutet, dass eine Datei pro Zeile aufgelistet wird, und -U weist ls an, die Ausgabe nicht zu sortieren, wodurch die Ausführung des Befehls schneller wird.

ls -1U zählt versteckte Dateien (dotfiles) nicht mit.

Wenn du nur Dateien zählen möchtest und die Verzeichnisse nicht mitzählen willst, verwende Folgendes:

ls -1Up VERZEICHNIS_NAME | grep -v / | wc -l

Die Option -p zwingt ls, einen Schrägstrich (/) an Verzeichnisse anzuhängen. Die Ausgabe wird an den grep -v Befehl übergeben, der die Verzeichnisse ausschließt.

Wenn du mehr Kontrolle darüber haben möchtest, welche Dateien aufgelistet werden, verwende den find Befehl anstelle von ls:

find VERZEICHNIS_NAME -maxdepth 1 -type f | wc -l

-type f sagt find, dass es nur Dateien auflisten soll (einschließlich Punktdateien), und -maxdepth 1 beschränkt die Suche auf das Verzeichnis der ersten Ebene.

Abschluss

Wir haben dir gezeigt, wie du mit den Befehlen ls, find und tree Dateien in Verzeichnissen zählen kannst. Wenn du weitere Fragen hast oder Feedback geben möchtest, kannst du gerne einen Kommentar hinterlassen.

War dieser Beitrag hilfreich?

Verwandte Beiträge