Para uso como programa de terminal baseado em tela (curses / ncurses etc) :
Veja ncdu
- exemplo de saída:
ncdu 1.10 ~ Use the arrow keys to navigate, press ? for help
--- /usr/share/icons -----------------------------------------------------------
189.2MiB [##########] /oxygen
169.3MiB [######## ] /hicolor
130.2MiB [###### ] /HighContrast
123.9MiB [###### ] /gnome
74.0MiB [### ] /nuvola
57.9MiB [### ] /Faience
46.5MiB [## ] /Breathe
46.1MiB [## ] /Faenza-Blue-Dark2
43.2MiB [## ] /AwOken
40.1MiB [## ] /elementary-xfce
31.9MiB [# ] /AwOkenDark
26.4MiB [# ] /elementary
Total disk usage: 1.7GiB Apparent size: 1.4GiB Items: 308833
Para uso no terminal no modo de texto linha por linha :
Para mostrar tamanhos ordenados de subdiretórios e arquivos no diretório atual:
(Para não mostrar arquivos, veja abaixo)
Execute isso no diretório que contém os diretórios que você deseja medir,
$ HOME no seu exemplo:
du -sch .* * | sort -hr | less
Ou apenas o mesmo comando na forma de opção longa mais detalhada:
du --summarize --total --human-readable .* * | sort --human-numeric-sort --reverse | less
Isso mostra o
-
du
- uso de disco dentro do diretório atual, -
-s
(--summarize
) - mostrando um valor total por item, -
-c
(--total
) - e um valor total global como a soma de todos os valores por item, -
-h
(--human-readable
) - mostrando tamanhos como 6.8G, 4.0K, 5M, etc, em vez de contagens de bytes, -
.*
- listando arquivos e diretórios nomeados com ponto como primeiro caractere, -
*
- e todos os outros arquivos e diretórios, -
| sort -hr
- ordena o resultado, manipulando os tamanhos dos arquivos legíveis por humanos, em ordem inversa, -
| less
- e mostre a lista resultante em um pager, o maior no topo.
Nota: dependendo do shell usado, e suas opções, usando .*
em um diretório no qual nenhum nome de arquivo começando com .
exista pode causar um erro. Nesse caso, o .*
é redundante e pode ser deixado de fora (e é isso que o erro estava tentando dizer a você)
Exemplos de linhas de saída, na ordem de classificação original:
% bl0ck_qu0te%Para uma resposta exata da pergunta, os arquivos precisam ser excluídos da lista. Isso torna a lista muito mais legível normalmente, então vale a pena fazer; Só não quando digitando manualmente o comando em um shell, como é um pouco longo. Então, para usar em um script, etc:
Use find
para listar apenas diretórios (não use a sintaxe comum find . -foo
para o argumento de diretório para evitar um prefixo ./
nos nomes de arquivos na lista de resultados):
find .* * -maxdepth 0 -type d -print0 | du --files0-from=- -sch | sort -hr | less
Para uso com a área de trabalho gráfica (não o terminal solicitado) :
(Não foi solicitado, mas adicionando uma pequena dica sobre boas ferramentas de GUI para a tarefa de completenes.)
Veja gdmap
e filelight
(ou baobab
). Ambos fornecem diagramas muito interessantes e, para obter a melhor visualização intuitiva, vale a pena tentar combinar gdmap
com um dos outros dois.