Standardmäßig duwird jede Datei nur einmal gezählt, wenn sie mehrmals verknüpft ist. Wenn Sie es ausführen du -L bar, wird die Datei gezählt, da sie nur einmal erreicht wird. Wenn Sie es jedoch ausführen du -L *, wird es nur gezählt , wenn es zum ersten Mal angezeigt wird. Beispielsweise:
$ du -L foo bar
16K foo
4.0K bar
$ du -L bar foo
16K bar
4.0K foo
Beachten Sie, dass durch das Austauschen der Reihenfolge der Argumente geändert wird, welcher Ordner als 16 KB gemeldet wird.
Sie können dudas zweimalige Zählen der Datei erzwingen , indem Sie den -lParameter übergeben.
Bearbeiten:
Symbolische Links sind eine spezielle Art von Datei, und ein zusätzlicher Schritt ist erforderlich, um dem Link zu folgen. dufolgt keinen symbolischen Links, es sei denn, die -LOption ist aktiviert.
Ein fester Link ist im Grunde eine Datei, die in zwei (oder mehr) Ordnern vorhanden ist. duVerfolgt vermutlich anhand der Inode-Nummer, welche Dateien es gesehen hat, um zu vermeiden, dass diese zweimal gezählt werden. -lDeaktiviert dieses Verhalten.
Mit just -Lfolgt es also dem symbolischen Link, aber wenn die Zieldatei eine Inode-Nummer hat, die sie bereits gesehen hat, wird sie nicht erneut gezählt. Mit nur wird -les doppelte harte Links zählen, aber nicht symbolischen Links folgen.
Wenn Sie -lund -Lzusammen verwenden, folgt es sowohl den symbolischen Links als auch dem mehrmaligen Zählen der Zieldatei (en).
duhier klug spielen zu wollen, aber wenn Sie laufen, istdf -a -L bar foodie Ausgabe sehr falsch (das Zählen der 16K in bar lässt foo leer).