Lista os tamanhos da pasta atual com o terminal?

108

Eu quero uma lista das pastas do diretório atual ou uma que eu especifique com o tamanho delas.

Eu tentei com du mas só obtive 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?

    
por kevin 03.08.2010 / 19:58

9 respostas

179

Se você quiser mostrar todos os diretórios no diretório atual:

$ du -sh */
788K    foo/
500K    bar/
931K    baz/

Para mostrá-los a partir de 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ê quiser ter certeza de que os diretórios cujos nomes começam com um ponto estejam incluídos, faça shopt -s dotglob primeiro.

    
por 03.08.2010 / 20:29
16

Em um Mac, a opção --max-depth é suplantada por -d [profundidade]. Portanto, para ver uma listagem legível de seu disco raiz mais dois níveis de profundidade, use o seguinte:

du -hd 2 /* 

Nota: este comando irá expor os dois principais níveis de diretório da sua raiz. Isso inclui percorrer 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, este comando pode levar algum tempo para ser concluído.

    
por 02.03.2013 / 06:23
12

Outra abordagem é a opção --max-depth.

du -h --max-depth=1 .

Listará todos os diretórios e arquivos na pasta atual com tamanho.

A profundidade 2 listaria mais um nível de pastas.

    
por 03.08.2010 / 21:32
5

Tente:

$ du -s ./f1

ou

$ du -sh ./f1

para tamanhos legíveis mais amigáveis.

    
por 03.08.2010 / 20:09
2

$ du --max-depth=1 /var/www/ | sort -n -r

    
por 30.06.2015 / 17:39
1

Vale mencionar o comando shell NCurses Disk Usage .

Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like environment with ncurses installed.

    
por 12.06.2016 / 14:26
1

Aqui está um script POSIX que funcionará com:

  • Um arquivo
  • Arquivos
  • Um diretório
  • Diretórios
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

Origem

    
por 28.03.2017 / 01:47
1

Com base na resposta aceita, este comando mostrará os tamanhos das pastas no diretório, e também os listará por tamanho para você interpretar mais facilmente:

$ du -sh */ | sort -rn
    
por 02.03.2018 / 23:17
0

No Mac, você pode instalar a implementação GNU (Linux) de du com Homebrew ( brew install coreutils ). Então, por exemplo:

gdu folder -shL --exclude=.git

onde

  • gdu é o nome dado à implementação GNU de du (por padrão, o Homebrew não oculta /usr/bin/du );
  • s produz um total geral para a pasta especificada (omita se você quiser ver a divisão);
  • h produz tamanhos legíveis por humanos;
  • L segue os links simbólicos;
  • --exclude=.git exclui o diretório git dentro da pasta especificada (isto é apenas um exemplo).

Você pode ignorar mais pastas adicionando --exclude=blah . Você também pode especificar várias pastas de uma vez (ou seja, gdu folder1 folder2 ... ) e, nesse caso, é possível combinar todos os subtotais em um único tamanho usando a opção c .

    
por 28.09.2017 / 17:32