ubuntuusers.de

du Pfadargumente werden ignoriert

Status: Gelöst | Ubuntu-Version: Xubuntu 20.04 (Focal Fossa)
Antworten |

Lichtmacher

Anmeldungsdatum:
26. Januar 2009

Beiträge: 258

Wenn man du aufruft, dann hat entscheidet die Reihenfolge der Verzeichnisse beim Aufruf, ob sie überhaupt aufgerufen werden.

1
2
3
4
5
fh@ltsp98:~$ du -bsS /home/fh/Schreibtisch/ /home/fh/Bilder/ /home/fh/Videos/ /home/fh/
17833735	/home/fh/Schreibtisch/
468463	/home/fh/Bilder/
4096	/home/fh/Videos/
265958	/home/fh/
1
2
fh@ltsp98:~$ du -bsS /home/fh/ /home/fh/Schreibtisch/ /home/fh/Bilder/ /home/fh/Videos/
265958	/home/fh/

Ich konnte dazu in der manpage nichts lesen. Weiß jemand warum das so ist?

Kann man das verhindern? Ich habe mich jetzt mit zweimal sort beholfen.

Darüber bin ich gestolpert, weil ich mit find . -links 1 Dateien in einer inkrementellen Datensicherung finden wollte, und dann die Größe der Verzeichnisse, in denen solche Dateien liegen mit der Größe der Dateien selber vergleichen will. (Wie groß ist der Anteil an neuen Dateien.)

Dabei wurden dann jede Menge Verzeichnisse nicht angezeigt.

TK87

Anmeldungsdatum:
8. Juli 2019

Beiträge: 241

Wohnort: Aachen

Moin,

standardmäßig listet du Ordner ja rekursiv auf, daher werden alle Unterverzeichnisse in weiteren Argumenten ignoriert, um doppelte Ausgaben zu vermeiden.

Entweder Unterverzeichnisse zuerst angeben, oder falls du Wert auf die Reihenfolge legst halt mehrfach ausführen.

Gruß Thomas

Mylin

Avatar von Mylin

Anmeldungsdatum:
23. Juli 2024

Beiträge: 233

Wie wäre es mit:

1
du -bS -d 1 -t 1 /home/fh

Vielleicht sortieren?

1
du -bS -d 1 -t 1 /home/fh | sort -n -r

Oder auch nur bestimmte ausgeben?

1
du -bS -d 1 -t 1 /home/fh | grep -E "Videos|Bilder"

Lichtmacher

(Themenstarter)

Anmeldungsdatum:
26. Januar 2009

Beiträge: 258

TK87 schrieb:

Moin,

standardmäßig listet du Ordner ja rekursiv auf, daher werden alle Unterverzeichnisse in weiteren Argumenten ignoriert, um doppelte Ausgaben zu vermeiden.

Entweder Unterverzeichnisse zuerst angeben, oder falls du Wert auf die Reihenfolge legst halt mehrfach ausführen.

Gruß Thomas

Danke.

1
man du

einerseits:

1
Summarize disk usage of the set of FILEs, recursively for directories.

andererseits:

1
2
-S, --separate-dirs
              for directories do not include size of subdirectories
1
2
s, --summarize
              display only a total for each argument

Dass du bei -S nicht in die Subdirectories geht, sie aber ignoriert, wenn das Überverzeichnis zuerst angeben wurde, obwohl als Parameter angegeben, habe ich nicht erwartet.

Jetzt weiß ich es.

Für die eigentliche Aufgabe verwende ich jetzt ein sort hin und dann nach dem du ein sort zurück.

Mylin schrieb:

1
2
> 
> Vielleicht sortieren?

Ja.

Mylin schrieb:

1
2
> 
> Oder auch nur bestimmte ausgeben?

Das wollte ich ja, aber habe das schon bei der Eingabe von du als Parameter mitgegeben und mich gewundert.

Mylin schrieb:

1
2
3
4
> 
> {{{#!code bash
> du -bS -d 1 -t 1 /home/fh | grep -E "Videos|Bilder"
> 

Zudem handelt es sich um eine Serversicherung mit über 1000 Verzeichnissen.

Antworten |