Espaço em disco disponível no sistema operacional Unix / Linux

11

Como obter espaço em disco disponível no sistema operacional Unix / Linux, incluindo espaço não alocado (que não foi atribuído a nenhuma partição)?

krapstuke
fonte
1
As outras respostas postadas aqui são excelentes, por isso não as adicionarei (embora as votem!), Mas observarei que quase qualquer comando para olhar para um dispositivo bruto (que é o que você precisa fazer, para veja o espaço ainda não disponibilizado para os usuários do sistema) requer privilégio. Se você não tem root, esqueça.
MadHatter
1
E se você está tendo um problema que está tentando resolver, escreva sobre esse problema.
Michael Hampton
Meu problema é que não sei como obter espaço em disco disponível, só isso.
Krapstuke #

Respostas:

20

No Linux, o espaço livre pode se esconder em vários lugares:

  1. Espaço livre no sistema de arquivos (o mais óbvio):

    df -h
    
  2. Espaço não particionado:

    for dev in /dev/sd?; do parted "$dev" print; done
    

    ou

    for dev in /dev/sd?; do fdisk -l "$dev"; done
    

    e estude cuidadosamente quanto espaço há entre as partições e entre as partições e o final do dispositivo

  3. Espaço livre no sistema LVM:

    vgs
    

    ou

    pvs
    

    O volume físico pode usar menos espaço que o tamanho da partição; portanto, compare seu tamanho com o tamanho da partição

  4. Espaço não atribuído à partição no sistema MD:

    for dev in /dev/md*; do mdadm --detail "$dev"; done
    

    Você precisará comparar o "Tamanho do desenvolvedor usado" com o tamanho da partição

  5. Os sistemas de arquivos podem ser menores que o volume em que estão (obrigado @PaulGear!). Você deve comparar o tamanho do volume lógico LVM, dispositivo MD RAID, partição ou outro dispositivo em que o sistema de arquivos reside com o tamanho do sistema de arquivos (conforme retornado por df).

Se você tiver mais de um grupo de discos ou volumes LVM e uma distribuição relativamente nova, poderá usar lsblkpara mostrar uma árvore de dispositivos de bloco juntamente com pontos de montagem.

NOTA: Há também a diferença entre GB de marketing (que é 10 ^ 9B) e SO ou GB de engenharia (que é 2 ^ 30B e deve ser escrito GiB para diferenciar os dois). 40GB é de cerca de 37,25GiB. Todas as ferramentas acima, exceto partedusam gigabytes binários como unidades padrão. Adicione unit MiBao comando parted, antes printde obter respostas em Mebibytes (também útil para alinhar partições em SSDs e discos do setor 4KiB).

Hubert Kario
fonte
1
Observe também que pode haver espaço oculto entre as rachaduras, por exemplo, se você tiver um LV com 40 GiB e um sistema de arquivos com apenas 30 GiB. Verifique as respostas de dfe lvs.
Paul Engrenagem
1

Você pode ver as partições com "df -h". De resto, você pode usar "parted discname " e depois "print".

Jeroen
fonte