Der Windows- dir
Befehl zum Auflisten von Verzeichnissen enthält am Ende eine Zeile, die den gesamten von den aufgelisteten Dateien belegten Speicherplatz angibt. dir *.exe
Zeigt zum Beispiel alle .exe
Dateien im aktuellen Verzeichnis, ihre Größe und die Gesamtsumme ihrer Größe an. Ich würde gerne eine ähnliche Funktionalität mit meinem dir
Alias in Bash haben, aber ich bin mir nicht sicher, wie ich genau vorgehen soll.
Derzeit habe ich alias dir='ls -FaGl'
in meiner .bash_profile
, zeigt
drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./
drwxr-x--x. 256 root 12288 Apr 8 21:29 ../
-rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history
-rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout
-rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile
-rw-r--r-- 1 mattdmo 176 May 10 2012 .bash_profile~
-rw-r--r-- 1 mattdmo 411 Dec 9 17:33 .bashrc
-rw-r--r-- 1 mattdmo 124 May 10 2012 .bashrc~
drwx------ 2 mattdmo 4096 Mar 24 20:03 bin/
drwxrwxr-x 2 mattdmo 4096 Mar 11 16:29 download/
zum Beispiel. Antworten auf diese Frage :
dir | awk '{ total += $4 }; END { print total }'
Das gibt mir die Gesamtsumme, druckt aber die Verzeichnisliste selbst nicht aus. Gibt es eine Möglichkeit, dies in ein Einzeilen- oder Shell-Skript zu ändern, damit ich alle ls
gewünschten Argumente übergeben dir
und eine vollständige Auflistung plus Gesamtsumme erhalten kann? Ich möchte beispielsweise ausführen dir -R *.jpg *.tif
, um die Liste und die Gesamtgröße dieser Dateitypen in allen Unterverzeichnissen abzurufen. Im Idealfall wäre es großartig, wenn ich die Größe jedes Unterverzeichnisses ermitteln könnte, aber das ist nicht unbedingt erforderlich.
ls -lh
, aber es hängt nicht immer damit zusammen, was die awk
unten stehenden Skripte berechnen oder was ich von Hand addiere. Manchmal liegt es nahe an der Anzahl der KB an Dateien im Verzeichnis, aber es scheint nicht die zugewiesenen Größen der Unterverzeichnisse zu berücksichtigen. Ich wäre Ihnen dankbar, wenn Sie mir erklären könnten, was genau diese Zahl ist ...
ls -lh
zeigt nicht die Gesamtgröße eines
ls -lh
hilft dir das nicht? Es gibt die Gesamtsumme oben aus. Sie können auch ausführendu -sh *.exe
, um Informationen zur Speicherplatznutzung in lesbarer Form abzurufen.