df (Unix) - df (Unix)
Autor (es) original (is) |
Ken Thompson , Dennis Ritchie ( AT&T Bell Laboratories ) |
---|---|
Desenvolvedor (s) | Vários open-source e comerciais desenvolvedores |
lançamento inicial | 3 de novembro de 1971 |
Sistema operacional | Unix , como o Unix |
Plataforma | Plataforma cruzada |
Modelo | Comando |
Licença | coreutils : GPLv3 + |
df (abreviatura de d isk f ree ) é umcomandopadrão do Unix usado para exibir a quantidade de espaço em disco disponível para sistemas de arquivos nos quais o usuário de chamadatem acesso de leitura apropriado. df é geralmente implementado usando as chamadas de sistema statfs ou statvfs.
História
df
para sistemas do tipo Unix faz parte do X / Open Portability Guide desde a edição 2 de 1987. Foi herdado na primeira versão do POSIX e na Especificação Única do Unix . Ele apareceu pela primeira vez na Versão 1 AT&T Unix .
A versão do df empacotada no GNU coreutils foi escrita por Torbjorn Granlund, David MacKenzie e Paul Eggert.
Uso
As especificações da Single UNIX Specification para df são:
df [-k] [-P|-t] [-del] [file...]
- -k
- Use unidades de 1024 bytes, em vez das unidades padrão de 512 bytes, ao escrever figuras de espaço.
- -P
- Use um formato de saída padrão e portátil
- -h
- Exiba em unidades legíveis mais facilmente, como KB, MB, GB ou TB.
- Arquivo
- Grava a quantidade de espaço livre do sistema de arquivos que contém o arquivo especificado
A maioria das implementações de df em Unix e sistemas operacionais semelhantes a Unix incluem opções extras. As versões BSD e GNU coreutils incluem -h , que lista o espaço livre em formato legível por humanos exibindo unidades com o prefixo SI apropriado (por exemplo, 10 MB ), -i , que lista o uso de inode , e -l , restringindo a exibição apenas a sistemas de arquivos locais. GNU df inclui -T também, listando informações sobre o tipo de sistema de arquivos, mas o GNU df mostra os tamanhos em blocos de 1K por padrão.
Especificação
A Especificação Única do Unix (SUS) especifica que o espaço original é relatado em blocos de 512 bytes e, no mínimo, os nomes do sistema de arquivos e a quantidade de espaço livre.
O uso de unidades de 512 bytes é uma prática histórica e mantém a compatibilidade com ls e outros utilitários. Isso não exige que o próprio sistema de arquivos seja baseado em blocos de 512 bytes. A opção -k foi adicionada como uma medida de compromisso. Foi acordado pelos desenvolvedores padrão que 512 bytes era a melhor unidade padrão por causa de sua consistência histórica completa no System V (contra o uso misto de 512/1024 bytes em sistemas BSD ), e que uma opção -k para mudar para 1024- unidades de bytes foi um bom compromisso. Os usuários que preferem a quantidade mais lógica de 1024 bytes podem facilmente usar o alias de df para df -k sem quebrar muitos scripts históricos que dependem das unidades de 512 bytes.
A saída com -P consiste em uma linha de informações para cada sistema de arquivos especificado. Essas linhas são formatadas da seguinte maneira:
<fs name>
<total space>
<space used>
<space free>
<percentage used>
<fs root>
Na lista a seguir, todas as quantidades expressas em unidades de 512 bytes (1024 bytes quando -k for especificado) serão arredondadas para a próxima unidade superior. Os campos são:
<fs name>
- O nome do sistema de arquivos, em um formato definido pela implementação.
<total space>
- O tamanho total do sistema de arquivos em unidades de 512 bytes. O significado exato desta figura é definido pela implementação, mas deve incluir
<space used>
,<space free>
, além de qualquer espaço reservado pelo sistema normalmente não disponíveis para um usuário. <space used>
- A quantidade total de espaço alocado para arquivos existentes no sistema de arquivos, em unidades de 512 bytes.
<space free>
- A quantidade total de espaço disponível no sistema de arquivos para a criação de novos arquivos por usuários sem privilégios , em unidades de 512 bytes. Quando este número for menor ou igual a zero, não será possível criar nenhum arquivo novo no sistema de arquivos sem primeiro excluir outros, a menos que o processo tenha os privilégios apropriados. O valor escrito pode ser menor que zero.
<percentage used>
- A porcentagem do espaço normalmente disponível que está alocado atualmente para todos os arquivos no sistema de arquivos. Isso deve ser calculado usando a fração:
- <espaço usado>/(<espaço usado> + <espaço livre>)
- expressa como uma porcentagem. Essa porcentagem pode ser maior que 100 se
<space free>
for menor que zero. O valor da porcentagem deve ser expresso como um inteiro positivo, com qualquer resultado fracionário fazendo com que seja arredondado para o próximo inteiro mais alto. <fs root>
- O diretório abaixo do qual a hierarquia do sistema de arquivos aparece
Exemplo
Exemplo de saídas do comando df:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 48764976 0 48764976 0% /dev
tmpfs 9757068 173100 9583968 2% /run
/dev/sda2 1824504008 723009800 1008791744 42% /
tmpfs 48785328 0 48785328 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 48785328 0 48785328 0% /sys/fs/cgroup
/dev/sda1 523248 3672 519576 1% /boot/efi
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 12191244 500 12190744 1% /dev
tmpfs 12196332 702 12195630 1% /run
/dev/sda2 115859456 2583820 113275636 3% /
tmpfs 12196332 1 12196331 1% /dev/shm
tmpfs 12196332 5 12196327 1% /run/lock
tmpfs 12196332 16 12196316 1% /sys/fs/cgroup
/dev/sda1 0 0 0 - /boot/efi
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 47G 0 47G 0% /dev
tmpfs 9.4G 170M 9.2G 2% /run
/dev/sda2 1.7T 690G 963G 42% /
tmpfs 47G 0 47G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 47G 0 47G 0% /sys/fs/cgroup
/dev/sda1 511M 3.6M 508M 1% /boot/efi
Veja também
Referências
links externos
- The Single UNIX Specification , Issue 7 from The Open Group : relatar espaço livre em disco - Referência de comandos e utilitários,