df (Unix) - df (Unix)

df
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 ; 49 anos atrás ( 1971-11-03 )
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

dfpara 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

Páginas do manual