O comando
du é utilizado para acessarmos o tamanho dos discos em nossa instalação. Já o comando
sort, classifica as informações de acordo com sua necessidade. Temos também o
head que exibe apenas as 10 primeiras linhas de uma fonte de entrada.
Estes três comandos são apenas uma das diversas opções existentes para buscarmos os maiores arquivos e diretórios no
Linux. Neste material, irei demonstrar uma forma simples de utilizar estes comandos.
Ao executarmos esses 3 comandos sem as opções adequadas, o resultado provavelmente são será útil, sem informações realmente relevantes.
Veja o exemplo abaixo:
du | sort | head
100 ./.local/share/evolution/addressbook
108 ./.mozilla/firefox/jwqwiz97.default-release/datareporting
112 ./.local/share/gvfs-metadata
12 ./.cache/fontconfig
12 ./.cache/gnome-software/screenshots/112x63
12 ./.cache/thumbnails/fail
12 ./.config/dconf
12 ./.config/evolution
12 ./.config/gnome-control-center/backgrounds
12 ./.config/ibus
Veja que no resultado obtido, o comando
sort considerou 100 menor que 12, maior que 112, já que 2 > 0. Ou seja, esse resultado não atende à nossa necessidade!
Adicionando opções
Adicionando
-n ao comando
sort, define que os itens serão ordenados pelo valor numérico. Já a opção
-r define que a ordenação será reversa. Essas são as opções necessárias para buscarmos os maiores valores.
Irei adicionar
-5 no comando
head, limitando o retorno apenas aos 5 maiores resultados (essa configuração você pode ajustar de acordo com suas necessidades):
du | sort -nr | head -5
1865396 .
1769532 ./Documents
76552 ./.cache
64852 ./.cache/mozilla
64848 ./.cache/mozilla/firefox
Temos um resultado muito melhor que o obtido anteriormente, sendo que agora podemos ver claramente os maiores arquivos e diretórios. Utilizaremos mais algumas opções nos comandos para um resultado mais significativo.
Para termos um resultado mais humano, podemos adicionar
-h no comando
du:
du -h | sort -nr | head -5
980K ./.local/share/app-info
976K ./.local/share/app-info/xmls
824K ./.cache/thumbnails
808K ./.cache/thumbnails/large
804K ./.local/share/tracker
Podemos melhorar o comando, utilizando
-hr ao invés de
-nr no comando
sort:
du -h | sort -hr | head -5
1.8G .
1.7G ./Documents
75M ./.cache
64M ./.cache/mozilla/firefox/jwqwiz97.default-release
64M ./.cache/mozilla/firefox
Onde estão os maiores arquivos
O comando anterior nos mostrou que o diretório "Documents" possui arquivos grandes, já que ele possui o tamanho de 1.7GB! Para listarmos agora os arquivos, iremos utilizar
-ah no comando
du, da seguinte forma:
du -ah | sort -hr | head -5
1.7G .
1.1G ./1gig-file.file
699M ./doc.tar
2.9M ./photo-of-woman-wearing-turtleneck-top-2777898.jpg
1.4M ./semi-opened-laptop-computer-turned-on-on-table-2047905.jpg
Veja que no retorno acima, temos o arquivo "1gig-file.file" com 1.1GB e o
doc.tar com 699MB.
Conclusão
Esta forma de buscar os maiores arquivos em uma instalação, ou em um diretório, pode ajudar os administradores de sistemas na avaliação de ocupação dos discos, tomando ações necessárias antes de realizar backups, ou na notificação de usuários que armazenam arquivos de forma incorreta.