Existe uma maneira mais fácil de encontrar espaço livre em disco em um script que 'df'?

2

Eu preciso encontrar quantidade de espaço livre em disco em um disco RAM em um script portátil (não em GUI, nem em nada específico para distribuição). O utilitário df faz o trabalho, mas expele bastante saída, então eu tenho que pescar, como:

df -P /tmp | tail -n 1 | awk '{print $4; }'

Tentou também stat , mas não sabe como especificar um 'sistema de arquivos' para ele. Mesmo quando o tmpfs é montado em / tmp, stat "%f" /tmp interpreta / tmp como um arquivo, não como um sistema de arquivos.

Existe uma maneira melhor?

(Não, isso não é uma duplicata de 'como encontrar espaço livre em disco e analisar o uso'. Obrigado por ser tão vigilante)

    
por ddbug 26.07.2017 / 16:29

1 resposta

2

Na página de manual de stat(1)

-f, --file-system
display file system status instead of file status

Então para puxar os blocos livres do sistema de arquivos em que /tmp está localizado, você poderia tentar algo como

stat -f /tmp -c "%f"

Ou, para obter o valor em octetos, multiplique blocos livres por blocos:

stat -f /tmp -c "%f*%S" | bc
    
por 26.07.2017 / 16:47