Come conoscere la dimensione di una directory? Comprese sottodirectory e file.
Come conoscere la dimensione di una directory? Comprese sottodirectory e file.
Risposte:
du -s directory_name
O per ottenere un output leggibile dall'uomo:
du -sh directory_name
L' -s
opzione significa che non elencherà la dimensione per ogni sottodirectory, ma solo la dimensione totale.
du -sh bag
funzionato perfettamente!
Mentre l'utilizzo di un pacchetto separato come ncdu può funzionare bene, lo stesso confronto di molte cartelle può essere fatto, in una certa misura, semplicemente dando un elenco di cartelle da ridimensionare. Ad esempio per confrontare le directory di livello superiore sul tuo sistema ...
cd /
sudo du -sh ./*
du -sh /*
GNU du
prende -b
un'opzione.
Vedi la man
pagina e la info
pagina per ulteriori informazioni:
-b
,--bytes
è equivalente a--apparent-size --block-size=1
du -csh
-c produce un totale generale
-c
non ha senso usare insieme -s
, giusto? -s
visualizza solo la dimensione della directory specificata, ovvero la dimensione totale della directory.
Provare
du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr
Questo aiuta a trovare directory di grandi dimensioni per poi setacciare tramite du -sh ./*
puoi anche usare ls -ldh:
ls -ldh /etc
drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l è per una lunga lista; -d è per visualizzare le informazioni dir, non il contenuto della dir, -h è per visualizzare le dimensioni in formato leggibile huma.
Installo sempre il pacchetto "ncdu" e vedo tutto l'output di tutte le directory con rappresentazione grafica. Questo perché di solito ho bisogno di sapere cosa occupa la maggior parte dello spazio su disco sui miei computer, indipendentemente da quanto sommi una singola directory.
Utilizzo: sudo ncdu /
(non è necessario sudo
per le cartelle su cui si dispone dell'autorizzazione di lettura).
Ci vorrà del tempo per scansionare le statistiche sull'utilizzo del disco sull'intero file system. Ha una bella rappresentazione grafica da riga di comando e include la navigazione tramite tastiera usando i tasti freccia, come andare più in profondità o più in alto nel percorso scansionato. È inoltre possibile eliminare elementi premendo D.
du -hd1
elencherà in formato leggibile dall'uomo le dimensioni di tutte le directory, ad es
656K ./rubberband
2.2M ./lame
652K ./pkg-config
Ho provato con il comando seguente poiché è già stata fornita la migliore risposta
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
produzione
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
679445
du
L'unità predefinita in realtà è blocchi da 512 byte secondo POSIX e kilobyte su Linux (a meno che nonPOSIXLY_CORRECT
sia impostata la variabile di ambiente ) o condu -k
.