Metodo 1:usando `quota` e` awk` (per un rapporto di base)
Questo metodo funziona se le quote sono abilitate sul tuo sistema. Mostra l'utilizzo e i limiti per ogni utente.
`` `Bash
quota -v | awk '{stampa $ 1, $ 2, $ 3, $ 4}'
`` `
* `Quota -v`:mostra le informazioni sulla quota verbosa per l'utente corrente. Per vedere le informazioni per tutti gli utenti, utilizzare `sudo quota -v` (richiede privilegi di root).
* `awk '{stampa $ 1, $ 2, $ 3, $ 4}'`:questo estrae il nome utente, lo spazio usato, il limite soft e il limite rigido. Regola i numeri di campo se l'output `Quota` differisce (controlla la pagina Man` Quota` per i dettagli).
Metodo 2:usando `find`,` du` e `awk` (per un rapporto più dettagliato)
Questo metodo è più flessibile, consentendo di includere altri dettagli, ma non * mostra limiti di quota, solo spazio usato. Richiede privilegi di radice.
`` `Bash
Find /Home -Type d -User "$ (whoami)" -printf " %u %s %p \ n" | awk '{sum [$ 1]+=$ 2} end {for (utente in sum) stampa utente, somma [utente]}'
`` `
o per tutti gli utenti:
`` `Bash
Find /Home -Type d -printf " %u %s %p \ n" | awk '{sum [$ 1]+=$ 2} end {for (utente in sum) stampa utente, somma [utente]}'
`` `
* `Find /Home -Type d -User" $ (whoami) "-printf"%u%s%p \ n "`:trova tutte le directory domestiche, stampa il nome utente (`%u`), le dimensioni nei byte (`%s`) e il percorso (`%p`). Sostituisci `$ (whoami)` con `-user a tutti 'per elencare tutti gli utenti; Ciò richiede privilegi di radice.
* `awk '{sum [$ 1]+=$ 2} end {for (utente in sum) Utente, somma [utente]}'`:questo riassume le dimensioni per ciascun utente e stampa l'utente e il loro utilizzo totale del disco.
Metodo 3:combinazione con `ordin` e `numfmt` per un rapporto formattato
Possiamo migliorare l'output del metodo 2 per una migliore leggibilità:
`` `Bash
Find /Home -Type d -printf " %u %s %p \ n" | awk '{sum [$ 1]+=$ 2} end {for (utente in sum) stampare utente, somma [user]}' | ordina -k2,2nr | NUMFMT - -TO =IEC - -SUFFIX =B.
`` `
* `Ordina -k2,2nr`:ordina l'uscita numericamente in ordine inverso (prima utilizzo prima) in base alla seconda colonna (dimensione).
* `NUMFMT - -TO =IEC - -SUFFIX =B`:formatta i numeri usando le unità IEC (KB, MB, GB, ecc.) E aggiunge un suffisso" B "per chiarezza.
Considerazioni importanti:
* Privilegi root: Per ottenere informazioni su tutti gli utenti, dovrai eseguire questi comandi con `sudo`.
* quota abilitata: I metodi che utilizzano la quota "funzionano solo se le quote utente sono abilitate sul sistema. Puoi verificarlo con `Repquota -a` (ha bisogno di root).
* FileSystem: Questi comandi presumono che le tue directory di casa siano sotto `/home`. Se il sistema utilizza una posizione diversa, regola il comando `Trova 'di conseguenza.
* Gestione degli errori: Gli script forniti non hanno una robusta gestione degli errori. Per l'uso della produzione, vorresti aggiungere controlli per errori (ad es. Problemi di analisi "Trova".
Ricorda di adattare questi comandi in base alle tue esigenze specifiche e all'output dei comandi sul sistema. Considera di scrivere uno script più sofisticato usando un linguaggio di scripting come Python o Bash per le esigenze di reporting avanzate. Ciò potrebbe comportare regolarmente l'integrazione del database per archiviare e interrogare le informazioni sulle quote.
software © www.354353.com