Wenn Sie -s
an übergeben, du
wird die Ausgabe auf die in der Befehlszeile angegebenen Elemente beschränkt.
du -sh ~
Ich möchte gerne die gesamte Festplattennutzung in einem bestimmten Dateisystem sehen. Ich habe den Befehl ausgeführt
du -h ~my_user_name
Dies listet jedoch jedes Verzeichnis auf, das Eigentümer von ist my_user_name
. Ich möchte die Summe aller Informationen erhalten. Was ist die geeignete Option zum Bestehen? Ich habe es versucht
du -h -c ~my_user_name
aber das hat nicht funktioniert.
Wenn Sie -s
an übergeben, du
wird die Ausgabe auf die in der Befehlszeile angegebenen Elemente beschränkt.
du -sh ~
Sie werden nur die Summen pro Ordner und nicht pro Benutzer anzeigen.
Das kann funktionieren, wenn Sie beispielsweise die Gesamtgröße von / home / example_user / wünschen und wenn nur dieser example_user Dateien in diesem Ordner hat. Wenn andere Benutzer Dateien enthalten, ergibt dies nicht die Größe aller Dateien, die Ihnen gehören, sondern die Gesamtgröße aller Dateien in diesem Ordner.
Um die Informationen pro Benutzer zu erhalten, entweder:
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk 'END'
Beachten Sie, dass dies eine GNU-Suchspezifische Erweiterung verwendet.
-type f
stellt sicher, dass Sie nur Dateien auswählen, andernfalls zählen Sie auch die Größe der Verzeichnisse. (Versuchen Sie, einen leeren Ordner zu erstellen. Es wird wahrscheinlich 4k Speicherplatz beanspruchen).-user username_whos_files_to_count
wählt nur die Ergebnisse eines Benutzers aus-printf "%s\n"
wird die Größe drucken.Wenn Sie nur den ersten Teil davon ausführen, erhalten Sie eine Liste mit Nummern. Das sind die Dateigrößen. (Alles andere wird entfernt, nur die Größe wird dank des% s-Druckbefehls gedruckt.)
Wir können dann alle diese Zahlen hinzufügen, um eine Zusammenfassung zu erhalten. Im Beispiel ist dies mit awk nicht möglich.