Uso de disco para mostrar apenas partições selecionadas?

0

Gostaria de poder mostrar apenas o uso do disco para partições específicas em GB e% depois. Basicamente ignorar swap, tmpfs, etc.

Eu também gostaria de somar o valor de uso do disco e subtrair do total para obter espaço livre.

Agora eu tenho algo assim, mas não sei como usar o awk e selecionar as partições que quero contar.

df -h | awk '$5 ~ /\%$/ print $1 " " $5}'

Isto é para um sistema debian.

Editar:

Então descobri que posso usar / para limitar os resultados, no entanto, isso só me mostra o quanto é gratuito.

df -h / | awk '{ a = $4 } END { print a }'
    
por debianusr 03.07.2016 / 23:06

2 respostas

1

Não tenho certeza do que você está tentando fazer com awk , mas você está complicando a expressão desnecessariamente. Tudo o que você precisa para produzir o sistema de arquivos, espaço livre e porcentagem de ocupação é:

df -h /|awk '{ print $1, $4, $5 }'

No entanto, isso não alinha os cabeçalhos com os dados. Para preservar o alinhamento, use algo como:

df -h /|awk '{ printf "%-60s %6s %6s\n", $1, $4, $5 }'

Aqui eu usei um primeiro campo grande porque meu disco de sistema está listado pelo UUID. Para mostrar porcentagem de espaço livre em vez de ocupação, você pode usar:

df -h /|awk '{ printf $5=="Use%"?"%-60s %6s   Free%%\n":"%-60s %6s %6s%%\n", $1, $4, 100-$5 }'

Nesse caso, o sinal % é ignorado na expressão aritmética. Não sei df arredonda a porcentagem para o inteiro mais próximo, como assumi. Se arredondar para baixo, 100-$5 será arredondado para cima, então use 99-$5 para obter o espaço livre arredondado para baixo.

    
por 05.07.2016 / 11:26
0

A pergunta não mostra exatamente qual é a saída desejada, mas parece que ela corresponde ao que você deseja:

df -h | grep -E --color=never 'Filesystem|/dev/'

A string Filesystem é incluída para que a saída mostre os cabeçalhos de colunas amigáveis. A string /dev/ está incluída porque elimina os sistemas udev e tmpfs.

    
por 03.07.2016 / 23:53

Tags