Tips, Tricks, Fragen

ID #1356 Anzahl Dateien in einem Verzeichnis

Die erste Lösung die einem einfällt ist recht trivial:

ls /etc/apache2/ | wc -l

Dies liefert uns die Anzahl der Dateien in dem Verzeichnis. Aber leider nicht nur die Dateien! Auch die Unterverzeichnisse und Symlinks werden als eine Datei mit gezählt. Und was ist mit den Unterverzeichnissen? Evtl. wollen wir die Zahl dort auch gleich mit drin haben?

Dateien zählen

Fangen wir einfach an:
Alle Dateien eines Verzeichnisses inkl. Unterverzeichnisse aber ohne Symlinks:

find /etc/apache2/ -type f | wc -l

Zur Übung: Wie müsste es aussehen, wenn ich die Anzahl der Unterverzeichnisse ermitteln möchte?

find /etc/apache2/ -type d | wc -l

Jetzt wollen wir aber doch keine Dateien in Unterverzeichnisse mitzählen:

find /etc/apache2/ -maxdepth 1 -type f | wc -l

(Achtung: die Position von -maxdepth ist bei find entscheidend wichtig!)
Damit können wir jetzt beliebig unsere Verzeichnisse abklappern und evtl. Speicherfresser finden oder Statistiken führen.

Beispiel aus der Praxis:
Ein Kunde wollte mod_evasive installiert haben. Um die Wirkungsweise zu kontrollieren habe ich ihm ein kleines cron-Script geschrieben, welches die Anzahl der erkannten Angriffe aus /tmp/dos-*/ ausgewertet hat.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2009-03-27 11:03     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   2.75 von 5 (4 Bewertungen)

Artikel kommentieren