Como posso gerar todos os arquivos/diretórios, ordenados por tamanho, incluindo os ocultos
(aqueles cujo nome começa com um ponto), tudo de uma só vez?
Portamanho de um diretório, quero dizer a soma de todos os tamanhos de arquivo no diretório e toda a sua árvore de subdiretórios.
A diferença paraComo posso classificar a saída du -h
por tamanho?é que estou solicitando uma saída que incluitodosarquivos e diretórios no diretório atual –esteja oculto ou não.
Referências
- Como posso classificar a saída
du -h
por tamanho? - Como posso encontrar os maiores diretórios no Unix/Ubuntu?
- Como usar
du
para ver arquivos maiores que um tamanho limite - Como você classifica
du
a saída por tamanho? - Como listar todos os arquivos ordenados por tamanho
- O
du
comando não analisa diretórios ocultos - Como obter os tamanhos resumidos dos diretórios
- Exibir cada tamanho de subdiretório em formato de lista
- Uma maneira rápida de exibir o tamanho de cada subdiretório
Responder1
Como posso gerar todos os arquivos/diretórios, ordenados por tamanho, incluindo os ocultos?
Use odu
(Uso de disco)comando, que faz parteCoreutils GNU: 1
du -hs -- * .[^.]* | sort -h
O.[^.]*
expressão regulargarante que arquivos e diretórios ocultos sejam incluídos.
Listarapenas escondidoarquivos e diretórios, classificados aumentando em tamanho:
du -hs -- .[^.]* | sort -h
Listaapenas diretórios– oculto ou não – classificado aumentando de tamanho:
du -hs -- */ .[^.]*/ | sort -h
Somente listaarquivosno diretório atual
Listatodosarquivos, classificados aumentando em tamanho: 2
ls -AhlS | grep '^-' | tac
Somente listaescondidoarquivos, classificados aumentando em tamanho:
ls -hldS .* | grep '^-' | tac
Somente listaregulararquivos (não ocultos), classificados em tamanho crescente:
ls -lS | grep '^-' | tac
Listar arquivosrecursivamente– em toda a árvore de subdiretórios
Isso não é perguntado na pergunta, mas às vezes você pode querer listar todos os arquivos na árvore de subdiretórios (incluindo o diretório atual), ordenados por tamanho. 3
du -ah | sort -h
A saída será uma lista (possivelmente longa) de subdiretórios e arquivos. Para restringi-lo apenas a arquivos, você precisará ter uma ideia de qual extensão de arquivo os arquivos maiores possuem (observando a saída do comando acima).
du -ah | sort -h | grep .<file-extension>
Aqui você deve substituir <file-extension>
por zip
, png
, jpg
ou qualquer extensão de arquivo que os arquivos maiores tenham.
Exemplos:
du -ah | sort -h | grep .zip
du -ah | sort -h | grep .png
Referências
- A
du
página de manual do Linux (uso do disco) - Coreutils GNU
- Em expressões regulares, acento circunflexo (
^
) significanão - Comente sobre como incluir arquivos ocultos e não ocultos
- Sintaxe do Utilitário | Diretriz 10,fim das opções
- O
ncdu
analisador de uso de disco - Resposta recomendando
ncdu
- A
ls
página de manual do Linux (listar o conteúdo do diretório) - Como reverter a saída na linha de comando
- Como mostrar apenas pastas com mais de 1 GB de tamanho
- Como listar todos os arquivos ordenados por tamanho
1
Atribuo com gratidão minha solução aeste comentário. O --
argumentomarca o fim das opções.
O du
comando pode ser dolorosamente lento para arquivos/pastas muito grandes. Considere usar oncdu
comando em vez disso.
Para instalar em um derivado do Debian, incluindo Ubuntu, execute: sudo apt install -y ncdu
.
No Arch Linux, incluindo MSYS2, execute: yes | pacman -Syu ncdu
.
Para usá-lo, digite ncdu
e pressione ↵.
2
A -h
bandeira dels
gera os tamanhos dos arquivos em um estilo legível por humanos.
O -S
sinalizador classifica a saída na ordem dediminuindotamanho.
O pipe | grep '^-'
exclui diretórios e links simbólicos.
O cano| tac
inverte a saída.
3 É mais provável que isso seja interessante quando o tamanho do diretório atual for de alguns megabytes em vez de gigabytes.