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.