Qual é a melhor maneira de listar o tamanho de / no Terminal?

5

Eu quero ver quanto espaço total / está tomando, mas não sei como fazer isso. Posso usar ls -hal e somar os subtotais, ou posso usar fdisk para me dizer o tamanho dessa partição, mas existe uma maneira melhor?

    
por Korgan Rivera 22.12.2012 / 15:55

3 respostas

6

Você está perguntando sobre o tamanho total de arquivos / diretórios contidos em / , ou o tamanho total do sistema de arquivos raiz?

Se o primeiro, use df -h / .

Se este último, você pode fazer isso com du -sh / , que será muito lento, pois tem que enumerar todos os arquivos. Melhor, mas possivelmente impreciso devido a coisas como montagens de bind, sistemas de arquivos armazenados como arquivos esparsos em outros sistemas de arquivos / etc: totalize sua df output.

    
por 22.12.2012 / 15:56
5

Normalmente não há arquivos no diretório raiz, então suponho que você queira saber quanto espaço é usado no sistema de arquivos raiz. O comando para isso é df ( d isk f ree).

df -h /

Sem argumentos, df fornece informações de uso para todos os sistemas de arquivos (exceto alguns sistemas de arquivos especiais, sem disco, para os quais isso é irrelevante).

Se você deseja saber quanto espaço é usado por um diretório e seus subdiretórios, que não formam o sistema de arquivos completo, use du ( d isk u sábio).

    
por 22.12.2012 / 15:58
2
  • df informa metadados do sistema de arquivos - ou seja, o que o sistema de arquivos é capaz de armazenar no momento. É importante notar que em alguns sistemas de arquivos isso não precisa necessariamente refletir o espaço livre (é o espaço disponível), já que o fs pode fazer pré-alocações quando acha que é uma boa idéia (por exemplo, o XFS pode fazer isso quando você comece a criar um arquivo grande - ele alocará espaço adicional para garantir que o arquivo seja menos disperso e não gaste muito tempo com alocações quando precisar gravar os dados reais no disco). Esse espaço é marcado como disponível com algum atraso. As informações também refletem o fato de que algum espaço no disco é (ou pode ser) necessário pelas estruturas do sistema de arquivos - isso pode causar um efeito curioso em alguns sistemas de arquivos: relatando mais de 100% de uso de espaço.

  • du fornecerá o uso real do disco com a granularidade dos blocos do sistema de arquivos (na maioria dos sistemas, não tem certeza sobre aqueles que podem usar um bloco para dados de vários arquivos). Como tem que stat() de todos os arquivos pertencentes à hierarquia de diretórios superior (a que a du é dada na linha de comando), ela é lenta, especialmente para casos com arquivos pequenos.

  • stat fornecerá informações sobre um único arquivo (ou diretório).

Por isso, se você quiser saber:

  • quanto espaço livre você tem em um sistema de arquivos (aproximadamente), use df ;

  • quantos dados você realmente tem nos arquivos (não necessariamente em um único sistema de arquivos), use du - esteja ciente de que pode ficar lento facilmente, especialmente em alguns sistemas de arquivos da rede;

  • quanto espaço o registro do diretório raiz ocupa, use stat / .

por 23.12.2012 / 23:18