Como posso verificar todo o espaço usado no sistema de arquivos no linux?

0

Já experimentei du-ch , df -h e df -h --total , mas tudo isso resulta em suas especificidades tamanho da pasta. Preciso saber como posso obter o espaço total usado em forma legível humana. Esperando por sua ajuda. Agradecemos antecipadamente.

    
por Freimnsdei Nanayon 10.07.2017 / 21:58

2 respostas

1

Antes de tudo, vamos esclarecer algumas coisas. Quando você executa df -h --total , há algumas coisas que mostram sistemas de arquivos virtuais, como tmpfs e udev . Nós não queremos exatamente isso, mas queremos conhecer todos os sistemas de arquivos físicos . Assim, queremos filtrar apenas /dev itens:

$ df -h | grep '^/dev/'
/dev/sda1       110G   77G   29G  74% /
/dev/sdb6       399G  223G  157G  59% /mnt/HDD

Mas também há um problema: -h nos dá total no formato legível por humanos. Nós não podemos realmente adicionar itens com letras neles. grep também não pode executar cálculos. Assim, em vez disso, vamos usar awk , somando a terceira coluna:

$ df --block-size=1 | awk '/^\/dev/{total+=$3}END{print total}'                                                          
320762605568

Ótimo! agora só precisamos encontrar a versão humana legível desse número. Podemos sempre escrever código no awk para fazer isso, mas já existe o numfmt utility. Então podemos fazer isso:

$ df --block-size=1 | awk '/^\/dev/{total+=$3}END{print total}' | numfmt --to=iec-i --suffix=B --padding=7               
 299GiB

E é assim que você tem o total de todos os dispositivos físicos que são montados (que é o que o df exibe por padrão).

    
por Sergiy Kolodyazhnyy 10.07.2017 / 22:42
0

Você precisa usá-lo da seguinte forma:

df -h --total / | grep total | awk '{ print $3 }'

Ou:

df -h --total . | grep total | awk '{ print $3 }'

Resultado:

599G
    
por George Udosen 10.07.2017 / 22:24