Holen Sie sich den gesamten Speicherplatz für mehrere Verzeichnisse

19

Ich kenne du -sh, das mir den gesamten Speicherplatz für ein bestimmtes Verzeichnis zur Verfügung stellt.

Mein Problem ist, dass die Verzeichnisse, an denen ich interessiert bin, über viele Unterverzeichnisse verstreut sind. Ich habe den richtigen "find" -Befehl, der mir diese Verzeichnisse gibt. Ziel ist es, die gefundenen Verzeichnisse zu übergeben und den gesamten von diesen Verzeichnissen belegten Speicherplatz abzurufen

Wenn ich diese Verzeichnisse als Argumente an du übergebe, wird total für dieses Verzeichnis verwendet, aber keine Gesamtsumme. Ich möchte die Gesamtsumme bekommen.

Beispiel du -sh dir1 dir2gibt eine Ausgabe wie folgt aus

17k dir1 55K dir2

Was muss ich tun, um die Gesamtsumme zu erhalten?

user871199
quelle
2
Versuchen Sie es du -sh --total . Und man du;-)
Rmano
1
Vielen Dank. Es klappt. Ich habe es tatsächlich mit --files-from und einigen anderen Optionen versucht. Irgendwie habe ich das --total total verpasst, hauptsächlich wegen meiner Unfähigkeit, den 2. äquivalenten Parameter für "-c" zu lesen :)
user871199

Antworten:

19

Verwenden Sie das Flag --totalim duBefehl.

du -sh --total dir1 dir2

Von man du:

   -c, --total
          produce a grand total
Rmano
quelle
Kleiner Zusatz: Optionen können kombiniert werden und tailkönnen verwendet werden, um die Ausgabe zu trimmen, wiedu -cs /etc /tmp | tail -n 1
Sergiy Kolodyazhnyy