GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gesamte Festplattennutzung für einen bestimmten Benutzer

Übergeben von -s bis du schränkt die Ausgabe auf die in der Befehlszeile angegebenen Elemente ein.

du -sh ~

Du wirst dir nur die Summen pro Ordner anzeigen, nicht pro Benutzer.

Das könnte funktionieren, wenn Sie die Gesamtgröße von beispielsweise /home/example_user/ möchten und wenn nur dieser example_user Dateien in diesem Ordner hat. Wenn andere Benutzer Dateien in sich haben, 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:

  1. Wenn Sie Kontingente aktiviert haben, verwenden Sie diese Befehle.
  2. Verwenden Sie find, um durch alle Verzeichnisse zu gehen, in denen Sie Ihre Dateien zählen möchten. Verwenden Sie die uid, um nur Ihre Dateien auszuwählen, und behalten Sie ein assoziatives Array in awk, um die Gesamtsummen zu zählen.

find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'

  • Der erste Befehl durchsucht alle Dateien und Verzeichnisse in /path/to/search/ .
  • -type f stellt sicher, dass Sie nur Dateien auswählen, andernfalls zählen Sie auch die Größe von Verzeichnissen. (Versuchen Sie, einen leeren Ordner zu erstellen. Es wird wahrscheinlich 4k Speicherplatz beanspruchen).
  • -user username_whos_files_to_count wählt nur die Ergebnisse von einem Nutzer aus
  • -printf "%s\n" druckt die Größe.

Wenn Sie nur den ersten Teil davon ausführen, erhalten Sie eine Liste mit Zahlen. Das sind die Dateigrößen. (Alles andere wird entfernt, nur die Größe wird dank des Druckbefehls %s gedruckt.)

Wir können dann all diese Zahlen addieren, um eine Zusammenfassung zu erhalten. Im Beispiel geschieht dies mit awk.


Um die gesamte Verwendung durch einen bestimmten Benutzer zu finden, ist ein guter Befehl:

find -user $USER -type f -exec du -chs {} +

Sie können je nach Bedarf weiter modifizieren, zum Beispiel möchte ich oft die Verwendung nach Ordner zusammenfassen, und das Folgende funktioniert gut:

find . -maxdepth 1 -user $USER -type d ! -path . -exec du -chs {} +

Dies findet nur Verzeichnisse auf einer Ebene, schränkt nach Benutzer ein, schließt das übergeordnete Verzeichnis aus und gibt jedes Verzeichnis und eine Zusammenfassung am Ende aus.


Linux
  1. Suche nach Dateien, die NICHT einem bestimmten Benutzer gehören

  2. Ermitteln Sie die Gesamtgröße von nicht festgeschriebenen oder nicht nachverfolgten Dateien in Git

  3. Überprüfen Sie die Festplattennutzung von Dateien, die mit Leerzeichen zurückgegeben werden

  4. Zugriff für einen bestimmten Benutzer durch PAM-Kontokonfiguration verweigert

  5. Wie funktionieren Dateiberechtigungen für den Root-Benutzer?

Gdu – Ein schneller Datenträgernutzungsanalysator für Linux

So überprüfen Sie die Speicherplatznutzung für Docker-Images, Container und Volumes

So überprüfen Sie die Größe von Dateien und Verzeichnissen unter Linux

So überprüfen Sie die Gesamtgröße der Festplatte im Ubuntu-Terminal

Überschreiben Sie den Pfad zur Binärdatei für einen bestimmten Benutzer

Blockieren Sie bestimmte Befehle in Linux für bestimmte Benutzer