Entendo que isso df -a
inclui "sistemas de arquivos pseudo, duplicados e inacessíveis". Isso resulta na ocultação de algumas montagens, como:
udev 8055632 0 8055632 0% /dev
devpts 0 0 0 - /dev/pts
... que não aparecem a menos que eu passe na -a
opção. No entanto, estou interessado em saber o que está incluído quando não passo -a
:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1624300 3292 1621008 1% /run
/dev/sda1 122485360 12664524 103552780 11% /
tmpfs 8121496 60308 8061188 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
/dev/sdb1 460366888 154205092 282702932 36% /home
tmpfs 1624296 1688 1622608 1% /run/user/1000
/dev/sdc2 488282108 324162964 164119144 67% /media/jez/Picard - Main [C]
As três partições "reais" da minha perspectiva são sda1
, sdb1
e sdc2
que apontam para partições reais em discos físicos. Como df
decide que sua saída padrão também incluirá algumas outras montagens; aparentemente tmpfs
uns? Não é tmpfs
um sistema de arquivos "pseudo"?
tmpfs não é um pseudo sistema de arquivos, é um sistema de arquivos real que armazena seu conteúdo na memória virtual. A diferença é que os pseudosistemas de arquivos oferecem uma representação de outra coisa, enquanto os sistemas de arquivos reais armazenam artefatos diretamente.
Significativamente
df
, os pseudosistemas de arquivos não podem ficar sem armazenamento da maneira usual, porque os dados não podem ser adicionados diretamente a eles. Sistemas de arquivos reais podem ficar sem armazenamento, e é isso quedf
realmente “se importa”. Como os sistemas de arquivos tmpfs podem ficar cheios, eles são listados por padrão.(Trabalhando no GNU
df
porque o POSIX não possui o-a
sinalizador.) Por padrão,df
mostrará sistemas de arquivos montados com tamanho diferente de zero.Exemplo
As entradas com tamanho zero (segunda coluna) serão omitidas por padrão, ou seja, estes sistemas de arquivos:
levando à saída padrão mostrada aqui:
Isso está em desacordo com sua documentação, tanto de
info
quanto deman
, que diz:mas também
Isso é confirmado no código-fonte (coreutils,
df.c
). Aquifsu_blocks
está o número de blocos do sistema de arquivos,show_all_fs
definido por-a
eshow_listed_fs
definido para sistemas de arquivos listados explicitamente na linha de comando: