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
env
para 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!