Linux – Listar Arquivos e Ordenar por Tamanho

Quando um servidor tiver ocupação excessiva e quisermos analisar os tamanhos de diretórios e arquivos, podemos usar o comando ls (que serve para listar diretórios e arquivos) com alguns parâmetros.

Comando: ls -lrth -S -R |less

Explicação:

# l = use a long listing format
# r = reverse order while sorting
# t = sort by modification time, newest first
# h = human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G)
# S = sort by file size
# R = recursive list subdirectories recursively
# less = paginador – pode ser trocado por more

Exemplo:

total 205K

drwxrwxr-x 2 fabio fabio 4,0K Dez 18 2012 Uriah Heep
drwxrwxr-x 7 fabio fabio 4,0K Set 9 09:26 Twisted Sister

./Uriah Heep:
total 108M
-rw-rw-r– 1 fabio fabio 6,0M Dez 18 2012 06 – Easy Livin’.mp3
-rw-rw-r– 1 fabio fabio 6,9M Dez 18 2012 07 – The Wizard.mp3
-rw-rw-r– 1 fabio fabio 8,2M Dez 18 2012 08 – Blind Eye.mp3
-rw-rw-r– 1 fabio fabio 11M Dez 18 2012 04 – Look At Yourself.mp3
-rw-rw-r– 1 fabio fabio 11M Dez 18 2012 03 – Lady In Black.mp3
-rw-rw-r– 1 fabio fabio 12M Dez 18 2012 09 – Sweet Lorraine.mp3
-rw-rw-r– 1 fabio fabio 15M Dez 18 2012 10 – Sweet Freedom.mp3
-rw-rw-r– 1 fabio fabio 16M Dez 18 2012 02 – Gypsy.mp3
-rw-rw-r– 1 fabio fabio 25M Dez 18 2012 05 – July Morning.mp3

./Twisted Sister:
total 20K
drwxrwxr-x 2 fabio fabio 4,0K Set 9 09:32 1987 Love is for Suckers
drwxrwxr-x 2 fabio fabio 4,0K Set 9 09:33 1985 Come Out and Play
drwxrwxr-x 2 fabio fabio 4,0K Set 9 09:30 1984 Stay Hungry
drwxrwxr-x 2 fabio fabio 4,0K Set 9 09:28 1983 You Can’t Stop Rock’n’Roll
drwxrwxr-x 2 fabio fabio 4,0K Set 9 09:27 1982 Under the Blade

./Twisted Sister/1987 Love is for Suckers:
total 7,4M
-rw-rw-r– 1 fabio fabio 3,2M Set 9 09:47 Twisted Sister – Love is for Suckers.mp3
-rw-rw-r– 1 fabio fabio 4,2M Set 9 09:47 Twisted Sister – Wake up (The Sleeping Giant).mp3

./Twisted Sister/1985 Come Out and Play:
total 27M
-rw-rw-r– 1 fabio fabio 2,8M Set 9 09:46 Twisted Sister – Kill or Be Killed.mp3
-rw-rw-r– 1 fabio fabio 3,3M Set 9 09:46 Twisted Sister – The Fire Still Burns.mp3
-rw-rw-r– 1 fabio fabio 3,9M Set 9 09:46 Twisted Sister – Out on The Streets.mp3
-rw-rw-r– 1 fabio fabio 4,6M Set 9 09:45 Twisted Sister – Come Out and Play.mp3
-rw-rw-r– 1 fabio fabio 5,0M Set 9 09:45 Twisted Sister – I Believe in You.mp3
-rw-rw-r– 1 fabio fabio 7,2M Set 9 09:45 Twisted Sister – I Believe in Rock And Roll.mp3

./Twisted Sister/1984 Stay Hungry:
total 36M
-rw-rw-r– 1 fabio fabio 2,8M Set 9 09:43 Twisted Sister – I Wanna Rock.mp3
-rw-rw-r– 1 fabio fabio 2,9M Set 9 09:44 Twisted Sister – SMF.mp3
-rw-rw-r– 1 fabio fabio 2,9M Set 9 09:44 Twisted Sister – Stay Hungry.mp3
-rw-rw-r– 1 fabio fabio 3,4M Set 9 09:44 Twisted Sister – The Beast.mp3
-rw-rw-r– 1 fabio fabio 3,4M Set 9 09:44 Twisted Sister – We’re Not Gonna Take It.mp3
-rw-rw-r– 1 fabio fabio 3,5M Set 9 09:44 Twisted Sister – The Price.mp3
-rw-rw-r– 1 fabio fabio 4,1M Set 9 09:43 Twisted Sister – Don’t Let Me Down.mp3
-rw-rw-r– 1 fabio fabio 6,1M Set 9 09:43 Twisted Sister – Burn In Hell.mp3
-rw-rw-r– 1 fabio fabio 7,2M Set 9 09:43 Twisted Sister – Horrorteria (Captain Howdy & Street Justice).mp3

./Twisted Sister/1983 You Can’t Stop Rock’n’Roll:
total 32M
-rw-rw-r– 1 fabio fabio 2,8M Set 9 09:41 Twisted Sister – Like A Knife In The Back.mp3
-rw-rw-r– 1 fabio fabio 2,9M Set 9 09:40 Twisted Sister – I’ll Take You Alive.mp3
-rw-rw-r– 1 fabio fabio 3,1M Set 9 09:41 Twisted Sister – The Kids Are Back.mp3
-rw-rw-r– 1 fabio fabio 3,5M Set 9 09:42 Twisted Sister – We’re Gonna Make It.mp3
-rw-rw-r– 1 fabio fabio 3,7M Set 9 09:40 Twisted Sister – I’ve Had Enough.mp3
-rw-rw-r– 1 fabio fabio 3,7M Set 9 09:41 Twisted Sister – Ride To Live Live To Ride.mp3
-rw-rw-r– 1 fabio fabio 3,7M Set 9 09:42 Twisted Sister – You’re Not Alone (Suzette’s Song).mp3
-rw-rw-r– 1 fabio fabio 4,1M Set 9 09:41 Twisted Sister – The Power And The Glory.mp3
-rw-rw-r– 1 fabio fabio 4,4M Set 9 09:42 Twisted Sister – You Can’t Stop Rock & Roll.mp3

./Twisted Sister/1982 Under the Blade:
total 18M
-rw-rw-r– 1 fabio fabio 3,9M Set 9 09:39 Twisted Sister – Destroyer.mp3
-rw-rw-r– 1 fabio fabio 4,4M Set 9 09:39 Twisted Sister – Under the Blade.mp3
-rw-rw-r– 1 fabio fabio 4,5M Set 9 09:39 Twisted Sister – What You Don’t Know (Sure Can Hurt You).mp3
-rw-rw-r– 1 fabio fabio 4,7M Set 9 09:39 Twisted Sister – Day of the Rocker.mp3

No exemplo, o comando listou, primeiro, todos os diretórios dentro de um diretório (/home/fabio/Música/Rock, por exemplo). Em seguida, entrou no primeiro diretório listado e executou o ls novamente mostrando os arquivos com seus respectivos tamanhos. No segundo diretório, encontrou mais diretórios, listou-os e, em seguida, entrou em cada um e listou os arquivos.

Resumindo, o comando lista os diretórios, entra em cada um e lista seu conteúdo até finalizar hierarquicamente a listagem de ítens contidos no diretório corrente.

O exemplo foi executado dentro do diretório /home/fabio/Música/Rock/ mas também é possível executar o comando em qualquer lugar desde que se coloque o caminho absoluto do local que se quer analisar.

Ficaria dessa maneira: ls -lrth -S -R /home/fabio/Música/Rock/ |less

Esse comando pode ser colocado na Cron, tanto diretamente como na forma de script, e também é possível guardar o resultado em um arquivo (ls -lrth -S -R |less >> nomearquivo) para ser enviado por email ou salvo como html para consulta via Web, por exemplo .

Se alguém tiver alguma opinião sobre como melhorar o procedimento, compartilhe.

É isso aí. Abraço.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s