Comando df: verificar o uso do disco com as opções -h, -T e -i
O comando df é um comando do Linux que mostra, em uma linha para cada sistema de arquivos montado, o tamanho total, o espaço usado, o espaço livre e a taxa de uso. Depois de executar o df com as opções -h, -T, -i, --output e -x, uma de cada vez, em um servidor AlmaLinux 9 e em um servidor Debian 12 e comparar as saídas, o espaço em disco passou a ser verificado na coluna Use% e o limite de arquivos na coluna IUse% do df -i.
Na saída do servidor AlmaLinux 9.8, os nomes de dispositivo, os tamanhos de disco e o tamanho e o uso do tmpfs, que dependem da memória, foram trocados por valores de exemplo coerentes entre si, e as linhas de montagem que só existem nesse servidor foram retiradas. O caminho de pasta escrito nos comandos também é um valor de exemplo, e a saída do servidor Debian 12 foi mantida como estava.
1️⃣ Como usar o comando df no Linux
A forma básica é [df opções arquivo]. Sem arquivo, mostra todos os sistemas de arquivos montados, e sem opções expressa os tamanhos em blocos de 1.024 bytes.
dfFilesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1890316 0 1890316 0% /dev
tmpfs 1921072 0 1921072 0% /dev/shm
tmpfs 768432 17104 751328 3% /run
efivarfs 128 4 120 4% /sys/firmware/efi/efivars
/dev/sda4 52403180 10265000 42138180 20% /
/dev/sda3 983040 319488 663552 33% /boot
/dev/sda2 204580 7116 197464 4% /boot/efi
tmpfs 384212 4 384208 1% /run/user/0A saída tem seis colunas, e o conteúdo de cada uma está na tabela abaixo.
| Campo | Conteúdo |
|---|---|
| Filesystem | Nome do dispositivo ou do sistema de arquivos (tmpfs etc.) |
| 1K-blocks | Tamanho total (blocos de 1.024 bytes) · Size com -h |
| Used | Tamanho usado |
| Available | Tamanho livre · Avail com -h |
| Use% | Taxa de uso · Used ÷ (Used + Available), arredondado para cima |
| Mounted on | Ponto de montagem (a pasta à qual o sistema de arquivos está ligado) |
Ligar um dispositivo a uma pasta é o que se chama de montar um disco, e para ligá-lo automaticamente a cada inicialização, ele é registrado em /etc/fstab.
Ao calcular cada linha da saída do servidor AlmaLinux 9.8, o Use% coincidiu com Used dividido pela soma de Used e Available, arredondado para cima. Na raiz (/) da saída acima, 10265000 dividido por 52403180 dá 19,6%, que apareceu como 20%.
O df faz parte do pacote coreutils. A versão foi verificada na primeira linha de [df --version]: coreutils 8.32 no servidor AlmaLinux 9.8 e 9.1 no servidor Debian 12.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ Opção df -h
-h agrupa os tamanhos em unidades de 1.024 e os mostra com K, M ou G.
df -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0Os blocos de 1K da raiz (/), 52403180, viraram 50G, e os 10265000 usados viraram 9.8G. Os números são arredondados para cima; abaixo de 10 apareceram com uma casa decimal, como 9.8G, e de 10 em diante como inteiros, como 50G.
-H agrupa em unidades de 1.000 em vez de 1.024.
df -HFilesystem Size Used Avail Use% Mounted on
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 787M 18M 770M 3% /run
efivarfs 132k 3.9k 123k 4% /sys/firmware/efi/efivars
/dev/sda4 54G 11G 44G 20% /
/dev/sda3 1.1G 328M 680M 33% /boot
/dev/sda2 210M 7.3M 203M 4% /boot/efi
tmpfs 394M 4.1k 394M 1% /run/user/0A mesma raiz apareceu como 54G com -H, um número maior que com -h, e a unidade quilo passou para k minúsculo, como em 132k.
Ao indicar um arquivo ou uma pasta, o df mostra só a linha do sistema de arquivos que contém esse caminho.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work é uma pasta dentro da raiz (/), por isso apareceu a linha do /dev/sda4. O espaço ocupado por cada pasta é somado com o Comando du.
No servidor Debian 12, ao indicar a pasta pessoal (~) a partir de uma conta comum, apareceu uma única linha do /dev/vda2, com uso de 52%.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T: tipo de sistema de arquivos
-T acrescenta a coluna Type depois de Filesystem e mostra o tipo de sistema de arquivos.
df -hTFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0As partições de disco /dev/sda4 e /dev/sda3 eram xfs, e /boot/efi era vfat. tmpfs e devtmpfs são sistemas de arquivos que usam memória em vez de disco.
A raiz do servidor Debian 12 era ext4.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t mantém só o tipo indicado, e -x mostra tudo, menos o tipo indicado.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootCom -t xfs, ficaram só as duas linhas xfs.
df -x tmpfs -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi-x tmpfs retirou as três linhas de tmpfs, enquanto o devtmpfs, de nome parecido, continuou. Só saem as linhas cujo nome de tipo é exatamente igual, então para retirar também o devtmpfs é preciso escrever -x mais uma vez.
df -x tmpfs -x devtmpfs -hFilesystem Size Used Avail Use% Mounted on
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi4️⃣ df -i: uso de inodes
inode é a informação de gerenciamento, uma para cada arquivo e pasta. -i mostra a quantidade de inodes em vez do tamanho.
df -iFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 472579 377 472202 1% /dev
tmpfs 480268 2 480266 1% /dev/shm
tmpfs 819200 645 818555 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 26201024 98214 26102810 1% /
/dev/sda3 524288 362 523926 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 96053 21 96032 1% /run/user/0Inodes é o total que pode ser criado, IUsed a quantidade usada, IFree a quantidade restante e IUse% a taxa de uso. /boot/efi, que é vfat, e efivarfs têm 0 inode, por isso o IUse% apareceu como -.
Cada arquivo novo usa um inode, então, quando o IUse% chega a 100%, não é possível criar arquivos novos mesmo com o Use% baixo. Em um servidor que acumula muitos arquivos pequenos, verifique [df -h] e [df -i] juntos.
Acrescentando também -h, as quantidades são agrupadas em unidades K e M, e os 26201024 da raiz apareceram como 25M.
df -ihFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 462K 377 462K 1% /dev
tmpfs 470K 2 470K 1% /dev/shm
tmpfs 800K 645 800K 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 25M 96K 25M 1% /
/dev/sda3 512K 362 512K 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 94K 21 94K 1% /run/user/0O servidor Debian 12 usava 188009 de 6285088 inodes, com IUse% de 3%.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output: escolher as colunas de saída
--output define diretamente as colunas mostradas e a ordem delas. Os nomes de coluna são escritos separados por vírgula, e podem ser usados os doze nomes da tabela abaixo (segundo o --help).
| Nome da coluna | Cabeçalho | Conteúdo |
|---|---|---|
| source | Filesystem | Nome do dispositivo / do sistema de arquivos |
| fstype | Type | Tipo de sistema de arquivos |
| itotal | Inodes | Total de inodes |
| iused | IUsed | Inodes usados |
| iavail | IFree | Inodes livres |
| ipcent | IUse% | Taxa de uso de inodes |
| size | Size | Tamanho total |
| used | Used | Tamanho usado |
| avail | Avail | Tamanho livre |
| pcent | Use% | Taxa de uso |
| file | File | Nome de arquivo indicado no comando |
| target | Mounted on | Ponto de montagem |
df --output=source,fstype,size,used,avail,pcent,target -hFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Ao escrever sete colunas em ordem, a saída foi igual à de [df -hT].
df --output=target,pcent,avail -hMounted on Use% Avail
/dev 0% 1.9G
/dev/shm 0% 1.9G
/run 3% 734M
/sys/firmware/efi/efivars 4% 120K
/ 20% 41G
/boot 33% 648M
/boot/efi 4% 193M
/run/user/0 1% 376MAo escrever os nomes de coluna na ordem target, pcent, avail, o ponto de montagem ficou na frente, seguido da taxa de uso e do tamanho livre nessa ordem.
--total acrescenta uma linha de total no fim.
df -h --totalFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0
total 56G 11G 46G 19% -A linha total é a soma das oito linhas acima, por isso os sistemas de arquivos em memória, como o tmpfs, também entraram na soma.
🔲 Simulador do comando df
No simulador abaixo, você pode executar o df com -h, -H, -T, -i, -t, -x, --output e --total e ver como as colunas de saída mudam com cada opção.
6️⃣ Erros do comando df
Ao indicar um caminho que não existe, apareceu [No such file or directory] e o comando terminou com código de saída 1.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directorySe -t recebe um tipo que não existe no servidor, não sobra nenhuma linha para mostrar, então apareceu [no file systems processed], e o código de saída foi 1.
df -t nosuchfsdf: no file systems processedAo passar para o --output um nome de coluna que não existe, esse nome apareceu na mensagem de erro.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.Usar -i ou -T junto com --output mostrou [mutually exclusive] e terminou com o mesmo código de saída 1. Para ver inodes ou tipos com --output, escreva nomes de coluna como itotal e fstype.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & conteúdo recomendado
UUID
Comando blkid no Linux | Diferença entre UUID e GUID
Artigo sobre como verificar o tipo de sistema de arquivos e o UUID de dispositivos de bloco com o comando blkid.
Partição
Comando gdisk: como particionar um disco no Linux
Artigo sobre os passos para criar e apagar partições em um disco com o comando gdisk.
ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.