Chegou a hora de arrumar o disco
A abundância de ficheiros que estão a circular permanentemente nos nossos computadores misturados com a constante falta de tempo, criam uma mistura explosiva a qual todos estamos expostos.
O resultado final de tudo isso invariavelmente é uma enorme quantidade de lixo que vai enchendo o nosso disco até o mesmo ficar ingerível e/ou a abarrotar de coisas que nos impedem de trabalhar.
Nessa altura os utilizadores de Linux podem recorrer a um elevado numero ferramentas para entender melhor o que esta a acontecer e tomar decisões acerca do caminho a seguir para recuperar a ordem e o comando do seu disco
Para isso vou partilhar aqui algumas formas de tirar partido dos recursos disponíveis no Linux com vista a permitir uma gestão do espaço disponível e ocupado do nosso disco e que estão disponíveis na linha de comandos de este sistema operativo.
Analisando a informação existente no disco
Listar as pastas ordenadas pelo tamanho
du -b --max-depth 1 | sort -nr | perl -pe 's{([0-9]+)}{sprintf "%.1f%s", $1>=2<strong>30? ($1/2</strong>30, "G"): $1>=2<strong>20? ($1/2</strong>20, "M"): $1>=2<strong>10? ($1/2</strong>10, "K"): ($1, "")}e'
Encontrar os 10 ficheiros que ocupam mais espaço no disco
find / -type f -size +100M -exec du {} \; | sort -n | tail -10 | cut -f 2
Listar o tamanho de todas as sub-pastas a partir da localização atual
du --max-depth=1|sort -n|cut -f2|tr '\n' '\0'|xargs -0 du -sh 2>/dev/null
Listar ficheiros e pastas no diretório atual ordenados pelo tamanho
du -a --max-depth=1 | sort -n
ou em aternativa
du -sm * | sort -n
Listar pastas e ficheiros grandes mesmo que escondidos
du -shc .[^.]* * | grep [MG]
Listar pastas que contenham menos do que 2 MB de dados
find . -type d -exec du -sk '{}' \; | awk '($1 < 2048) {print $2}'
Listar a 10 maiores sub-pastas a partir da localização actual
du -hs */ | sort -hr | head
Encontrar todos os ficheiros maiores do que 500M ordenados por tamanho
find . -type f -size +500M -exec du {} \; | sort -n
Encontrar os 10 ficheiros que ocupam mais espaço no disco ordenados por tamanho
find / -type f 2>/dev/null | xargs du 2>/dev/null | sort -n | tail -n 10 | cut -f 2 | xargs -n 1 du -h
Mostrar o tamanho das pastas cada 2 seg.
watch 'find -maxdepth 1 -mindepth 1 -type d | xargs du -csh'
Validar continuamente o tamanho de ficheiros ou pastas
while true; do du -s <ficheiro ou pasta>; sleep <intervalo de tempo em seg>; done
Obter o tamanho da pasta atual
du -sh
Listar o tamanho de todas as pastas (omite pastas escondidas) da localização atual
du -sh `ls -p | grep /`
Listar o tamanho de todas as pastas e ficheiros (omite pastas e ficheiros escondidos) da localização atual
du -sh * | grep -v '\.\/\.'
Listar todas as pastas da sua home e respetivo tamanho
du -sh ~/*