Domanda

faccio funzionare l'ordine senza successo per ottenere la dimensione di directory (file all'interno appartengono alla dimensione di una directory)

ls -lSrh

ottengo kilobits solo per la dimensione delle cartelle, mentre il loro contenuto è più di questo.

Come si può elencare la dimensione delle cartelle, tra cui il loro contenuto nel numero da ls

È stato utile?

Soluzione

du -sh directory_name

ls sta per darvi la dimensione della directory entry , non del contenuto della directory. Sulla base della mia scremato rapida di man ls non sembra essere un modo per fare <=> tuffo verso il basso e calcolare la dimensione delle directory (molto probabilmente perché sarebbe un'operazione costosa).

Altri suggerimenti

Se si desidera ottenere dimensioni delle directory, è possibile utilizzare

du -sh

du -hs è grande fino a quando si dispone di una grande directory.

Per esempio, se si memorizzano file di cache (ad esempio l'archivio file system di cache per Rails) o file caricati, ... con uno schema partizionato, come "cache / 123/456/789 / real_files" e hai un sacco di loro , du sta prendendo per sempre, alla fine bloccare tutto IO.

Non ho una soluzione migliore, ma questo è da considerare prima di eseguire questo sul server di produzione durante il periodo di picco.

Sulla risposta di Sean luminoso è possibile effettuare le seguenti (in bash)

for each in $(echo */ | sed "s/ /\n/g" | sed "s/\///g");  do du -hs "$each"; done;

In questo modo ottenere un contenuto completo directory per tutte le directory nella directory corrente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top