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?
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?
Respostas:
Se você deseja mostrar todos os diretórios no diretório atual:
$ du -sh */
788K foo/
500K bar/
931K baz/
Para mostrá-los iniciando em outro diretório:
$ du -sh /path/to/dir/*/
48K /path/to/dir/dir1/
4.0K /path/to/dir/dir2/
6.7M /path/to/dir/dir3/
20K /path/to/dir/dir4/
8.0K /path/to/dir/dir5/
44K /path/to/dir/dir6/
Se você deseja garantir que os diretórios com nomes começando com um ponto sejam incluídos, faça shopt -s dotglob
primeiro.
du -s */ | sort -n
.
shopt -s dotglob
doc
Em 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:
du -hd 2 /*
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.
Outra abordagem é a opção --max-depth.
du -h --max-depth=1 .
Irá listar todos os diretórios e arquivos na pasta atual com o tamanho.
A profundidade 2 listaria mais um nível de pastas.
du -hd 2 .
para 2 níveis de profundidade.
Experimentar:
$ du -s ./f1
ou
$ du -sh ./f1
para tamanhos legíveis mais amigáveis.
$ du --max-depth=1 /var/www/ | sort -n -r
Vale mencionar o comando shell NCurses Disk Usage .
Ncdu é um analisador de uso de disco com uma interface ncurses. Ele foi projetado para encontrar porcos espaciais em um servidor remoto, onde você não tem uma configuração gráfica completa disponível, mas é uma ferramenta útil, mesmo em sistemas de desktop comuns. O Ncdu pretende ser rápido, simples e fácil de usar, e deve poder rodar em qualquer ambiente mínimo do tipo POSIX com o ncurses instalado.
No Mac, você pode instalar a implementação GNU (Linux) do du
Homebrew ( brew install coreutils
). Então, por exemplo:
gdu folder -shL --exclude=.git
Onde
gdu
é o nome dado à implementação do GNU du
(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 seja gdu folder1 folder2 ...
), e, nesse caso, você pode combinar todos os subtotais em um único tamanho usando a opção c
.
Aqui está um script POSIX que funcionará com:
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'