O utilitário stat , que é útil para obter estatísticas de arquivos, também pode fornecer informações sobre sistemas de arquivos, basta fornecer a opção -f .
Mas certifique-se de fornecer o ponto de montagem (por exemplo, /boot ) e não o arquivo de dispositivo ( /dev/sda1 )! Porque no último caso stat reportará estatísticas do sistema de arquivos /dev , que é (no debian) um sistema de arquivos virtual e não tem nada a ver com o disco físico:
$ mount | grep sda1
/dev/sda1 on /boot type ext2 (rw,relatime,errors=continue,user_xattr,acl)
$ env stat -f /dev/sda2
File: "/dev/sda1"
ID: 0 Namelen: 255 Type: tmpfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 2560 Free: 2560 Available: 2560
Inodes: Total: 497355 Free: 496852
$ env stat -f /boot
File: "/boot"
ID: fe082d7c0c42ea6f Namelen: 255 Type: ext2/ext3
Block size: 1024 Fundamental block size: 1024
Blocks: Total: 99150 Free: 52490 Available: 47370
Inodes: Total: 25688 Free: 25355
- A diferença entre a contagem Livre e Disponível resulta dos blocos reservados para raiz .
- Eu usei
envpara garantir que não seja usado o comando stat incorporado em seu shell (que pode ou não fornecer todas as opções usadas).
Portanto, para responder à sua pergunta, você pode usar um formato de saída de estatísticas personalizado ( -c ) para obter o espaço disponível ( %a ) em / :
$ env stat -f -c %a /
1711744
Isto está em blocos, portanto, seja inteligente e deixe o sistema fazer uma multiplicação com o tamanho do bloco em unidades KB ( %S/1024 ), canalizando a saída na calculadora bc :
$ env stat -f -c '%a*%S/1024' / | bc
6846976
Vamos verificar com df :
$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 25066604 16939628 6846976 72% /
Ótimo, mesmo número informado!