12 abril 2006

Espaço Livre em disco no Linux [ REVISADO ]

Como vocês já devem saber, o comando df mostra o espaço utilizado e o espaço livre dos sistemas de arquivos. Mas para um iniciante, essas informações parecem um pouco confusas, pois, trazem um volume muito grande de informações. Veja exemplo:

Sist. Arq. 1K-blocos Usad Dispon. Uso% Montado em
/dev/hda2 8752368 3941328 4366444 48% /
varrun 124152 92 124060 1% /var/run
varlock 124152 4 124148 1% /var/lock
udev 124152 108 124044 1% /dev
devshm 124152 0 124152 0% /dev/shm
/dev/hda1 10241400 5144712 5096688 51% /media/hda1

Para resolvermos esse problema... fiz uma busca na internet de como simplificar, e achei um script interessante que facilita tudo para você. Não se preocupe com as linhas de comando, pois, no final você só precisará digitar o nome do arquivo que será criado para receber essas mesmas informações, só que de modo mais simplificado.

Para isso, abra o Konsole e digite "pico info.sh"

Obs.: info.sh é o nome do arquivo que estou "criando"; poderia ser qualquer outro nome.
Agora copie/cole essas linhas abaixo no arquivo.

#!/bin/sh

DISC=$1
PARTITION=`df -h |grep $DISC |awk '{print $1}'`
SIZE=`df -h|grep $DISC|awk '{print $2}'`
USED=`df -h|grep $DISC|awk '{print $3}'`
FREE=`df -h|grep $DISC|awk '{print $4}'`

echo "Partition: $PARTITION"
echo "Total size: $SIZE"
echo "Used space: $USED"
echo "Free space: $FREE"

Para salvar faça CTRL+O, (control óh *risos*), [ ENTER - para confirmar o nome]; para sair pressione CTRL+X; e pronto, nosso arquivo está criado; mas ainda não tem permissão para execução, e para resolvermos esse problema digite:

chmod +x info.sh

Para executar o script, digite seu nome, e o nome da partição que quer obter informações. Exemplos:

./info.sh /hda1 - Para ver as informações da partição /hda1.
./info.sh /hda2 - Para ver as informações da partição /hda2, e assim por diante.

Veja o resultado simplificado:

Partition: /dev/hda2
Total size: 8,4G
Used space: 3,8G
Free space: 4,2G

Obs.: Revisado, pois, não consegui achar o nome do autor do script, e como sabem, ele não é meu, portanto vou disponibilizar apenas o link para o artigo original.
http://forevergeek.com/linux/check_disk_space_in_linux.php

Espero que utilizem bastante o google, para achar artigos importantes como esse. Abraços

12 comentários:

Anônimo,  12:43 AM  

:D

Legal! Facilita bastante a vida da galera! E, afinal, no Linux, tudo se pode fazer! Basta ter conhecimento, curiosidade e um pouco de esforço!

Anônimo,  8:04 AM  

Olá! Parabéns pelo script, apesar de simples, ajuda os iniciantes.
Porém, tenho algumas recomendações.

Vi que você chama diversas vezes o df -h, passando como parâmetro para o awk. Isto traz 2 inconvenientes: os discos sofrem uma operação SYNC a cada chamada (no modo padrão), e os resultados podem ser diferentes um do outro (por serem tomados em diferentes tempos).

Minha sugestão: rodar uma vez só e armazenar o valor em uma variável. Deste modo, o script ficaria assim:

#!/bin/sh

DISC=$1
INFODF=`df -h | grep $DISC`
PARTITION=`echo $INFODF |awk '{print $1}'`
SIZE=`echo $INFODF |awk '{print $2}'`
USED=`echo $INFODF |awk '{print $3}'`
FREE=`echo $INFODF |awk '{print $4}'`

echo "Partition: $PARTITION"
echo "Total size: $SIZE"
echo "Used space: $USED"
echo "Free space: $FREE"

Espero ter ajudado.

Anônimo,  8:25 AM  

é até vc leva jeito, mas pode usar este comando df -h ele te forneçe tudo formatado, caso queira saber mais sobre ele digite man df.
boa sorte no seu apredizado, se precisar tamos ai

Monthiel 9:55 AM  

Ninja Luke, parabéns por seu comentário e pela forma que fez, realmente melhora o desempenho. Parabéns mesmo.

lpa, obrigado pelo leva jeito, só não entendi a ironia em suas palavras. Pois em cima citei que o df -h realmente mostra formatado, mas para um iniciante, parecem complicadas as informações.

Abraços

Anônimo,  1:03 PM  

Monthiel, parabéns cara.. eu sou aquele que fez o comentário do autor la no orkut. Legal você ter disponibilizado a página, desculpe se pareci grosso ou sei lá o que, não era essa a intenção.

A ideia de tentar traduzir os resultados para o usuario mais leigo e divulgar isso é bem interessante.

abraços

Anônimo,  6:23 PM  

Meu muito bom, fica algo totalmente mais fácil de se visualizar do q no modo padrão...

A onde vc pegou esse script??
Me mande uma MP no FGH, vlw abraços..

Monthiel 6:31 PM  

Brigado pelos elogios, a fonte está citada no final do artigo.

Abraços

Anônimo,  12:50 PM  

Qual é a diferença para um df -h ?

$ df -h
Sist. Arq. Tam Usad Disp Uso% Montado em
/dev/hda2 25G 8,4G 15G 37% /
/dev/hdb1 37G 30G 5,1G 86% /hdb1
/dev/hdb2 37G 20G 16G 57% /hdb2
/dev/hda5 33G 29G 2,9G 91% /home
/dev/sda2 80G 129M 77G 1% /sda2
/dev/sda5 119G 39G 77G 34% /sda5
/dev/hda3 34G 29G 3,7G 89% /usr
/dev/hda1 20G 20G 347M 99% /win
/dev/sda1 31G 6,8G 25G 22% /win_sata

Mythus 1:18 PM  

Eu pediria para o leigo copiar esse código abaixo e executá-lo apenas uma vez:

df -h ; echo ; echo Legenda: ; echo "Sist. Arq.: Localização do dispositivo de Sistema de Arquivos"; echo "Tam: Tamanho Total"; echo "Disp: Espaço Disponível"; echo "Uso%: Porcentagem de Uso"; echo "Montado em: Localização do Ponto de Montagem"; echo; echo "Você usou o comando: df -h"; echo "Para mais informações sobre df, logo abaixo, digite: man df"

Anônimo,  12:11 AM  

Valeu pelo tema. df -h resolveu meus problemas!

Anônimo,  8:51 AM  

vlw cara! :D

Anônimo,  4:33 PM  

Bom script

Postar um comentário

Deixe seu comentário, fique a vontade
Comentários anônimos serão apagados
Divulgue esse blog, assine nosso feed

About This Blog

Ultimos Artigos

  © Blogger templates The Professional Template by Ourblogtemplates.com 2008

Back to TOP