Como gerar todos os arquivos/pastas ordenados por tamanho, incluindo os ocultos

Como gerar todos os arquivos/pastas ordenados por tamanho, incluindo os ocultos

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 -hpor tamanho?é que estou solicitando uma saída que incluitodosarquivos e diretórios no diretório atual –esteja oculto ou não.

Referências

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, jpgou 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


1 Atribuo com gratidão minha solução aeste comentário. O --argumentomarca o fim das opções.
O ducomando pode ser dolorosamente lento para arquivos/pastas muito grandes. Considere usar oncducomando 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 ncdue pressione .

2 A -hbandeira delsgera os tamanhos dos arquivos em um estilo legível por humanos.
O -Ssinalizador 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.

informação relacionada