Quero uma lista das pastas do diretório atual ou que especifique com seu tamanho.
Eu tentei com o du, mas só obtenho o tamanho dos diretórios que especifico (du. ./F1) e ls não mostra o tamanho das pastas.
Como faço isso sem nenhum script?
command-line
unix
terminal
Kevin
fonte
fonte
Respostas:
Se você deseja mostrar todos os diretórios no diretório atual:
Para mostrá-los iniciando em outro diretório:
Se você deseja garantir que os diretórios com nomes começando com um ponto sejam incluídos, faça
shopt -s dotglob
primeiro.fonte
du -s */ | sort -n
.shopt -s dotglob
docEm um Mac, a opção --max-depth é suplantada por -d [depth]. Portanto, para ver uma lista legível por humanos da sua unidade raiz mais 2 níveis, use o seguinte:
Nota: este comando irá expor os dois principais níveis de diretório da sua raiz. Isso inclui atravessar um nível em seus Volumes e listará os tamanhos de resumo de cada diretório de nível superior em cada um dos volumes anexados. Dependendo do que você anexou, esse comando pode levar algum tempo para ser concluído.
fonte
Outra abordagem é a opção --max-depth.
Irá listar todos os diretórios e arquivos na pasta atual com o tamanho.
A profundidade 2 listaria mais um nível de pastas.
fonte
du -hd 2 .
para 2 níveis de profundidade.Experimentar:
ou
para tamanhos legíveis mais amigáveis.
fonte
$ du --max-depth=1 /var/www/ | sort -n -r
fonte
Vale mencionar o comando shell NCurses Disk Usage .
fonte
Com base na resposta aceita, este comando mostrará os tamanhos das pastas no diretório e também as listará por tamanho para você interpretar com mais facilidade:
fonte
No Mac, você pode instalar a implementação GNU (Linux) do
du
Homebrew (brew install coreutils
). Então, por exemplo:Onde
gdu
é o nome dado à implementação do GNUdu
(por padrão, o Homebrew não oculta/usr/bin/du
);s
produz um total geral para a pasta especificada (omita se você deseja ver a discriminação);h
produz tamanhos legíveis por humanos;L
segue links simbólicos;--exclude=.git
exclui o diretório git dentro da pasta especificada (este é apenas um exemplo).Você pode ignorar mais pastas adicionando
--exclude=blah
. Você também pode especificar várias pastas ao mesmo tempo (ou sejagdu folder1 folder2 ...
), e, nesse caso, você pode combinar todos os subtotais em um único tamanho usando a opçãoc
.fonte
Aqui está um script POSIX que funcionará com:
Fonte
fonte