GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo totale del disco per un determinato utente

Passaggio -s a du limiterà l'output solo agli elementi specificati nella riga di comando.

du -sh ~

Du ti mostrerà solo i totali per cartella, non per utente.

Potrebbe funzionare se vuoi la dimensione totale di, ad esempio, /home/example_user/ e se solo quell'esempio_utente ha file in quella cartella. Se altri utenti hanno file al loro interno, questo non produrrà la dimensione di tutti i file di tua proprietà, ma la dimensione totale di tutti i file in quella cartella.

Per ottenere le informazioni per utente, puoi:

  1. Se hai abilitato le quote, usa questi comandi.
  2. Usa find per scorrere tutte le directory in cui vuoi contare i tuoi file. Usa uid per selezionare solo i tuoi file e mantieni un array associativo in awk per contare i totali.

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

  • Il primo comando cerca in tutti i file e le directory in /path/to/search/ .
  • -type f si assicura di selezionare solo i file, altrimenti conta anche la dimensione delle directory. (Prova a creare una cartella vuota. Probabilmente utilizzerà 4k di spazio su disco).
  • -user username_whos_files_to_count seleziona solo i risultati di un utente
  • -printf "%s\n" stamperà la dimensione.

Se esegui solo la prima parte di questo, otterrai un elenco di numeri. Quelle sono le dimensioni dei file. (Tutto il resto viene rimosso, solo la dimensione viene stampata grazie al comando %s print.)

Possiamo quindi aggiungere tutti quei numeri per ottenere un riepilogo. Nell'esempio, questo viene fatto con awk.


Per trovare tutto l'uso da parte di un utente specifico, un buon comando è:

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

Puoi modificare ulteriormente a seconda delle esigenze specifiche, ad esempio spesso voglio riassumere l'uso per cartella, e il seguente funziona bene:

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

Questo trova solo le directory su un livello, limita per utente, esclude la directory principale e stampa ogni directory e un riepilogo alla fine.


Linux
  1. Elenca le dimensioni totali di utilizzo del disco dei file per directory/cartelle in Linux

  2. Ricerca di file NON di proprietà di un utente specifico

  3. Ottenere l'utilizzo del disco per ogni utente

  4. Controlla l'utilizzo del disco dei file restituiti con spazi

  5. Blocca comando particolare in Linux per utente specifico

Gdu:un analizzatore di utilizzo del disco veloce per Linux

Come controllare l'utilizzo dello spazio su disco per immagini Docker, contenitori e volumi

Come controllare la dimensione di file e directory su Linux

Come controllare la dimensione totale del disco rigido nel terminale Ubuntu

Trova la dimensione totale dei file senza commit o non tracciati in git

Sostituisci il percorso in binario per un particolare utente