Por que isso não mostra os arquivos / pastas ocultos?

100

Eu estava procurando no meu sistema com du -sch ./* para encontrar os arquivos inúteis que posso ter armazenado sem motivo, quando descobri isso:

$ du -sch ./*
du: cannot read directory ‘./drbunsen/.gvfs’: Permission denied
du: cannot read directory ‘./drbunsen/.cache/dconf’: Permission denied
18G ./drbunsen
18G total

$ cd drbunsen/
$ du -sch ./*
601M ./Desktop
20K ./Documents
598M ./Downloads
4.0K ./flash
4.0K ./Music
8.0M ./Pictures
4.0K ./Public
4.0K ./Templates
4.0K ./Ubuntu One
8.0K ./Videos
11G ./VirtualBox VMs
6.9M ./workspace
12G total

Como faço para tornar arquivos ocultos visíveis? du -sch ./.* dá o mesmo resultado que du -sch ./* .

    
por Dr_Bunsen 11.10.2013 / 22:30

3 respostas

175

Use

du -sch .[!.]* * |sort -h

na sua pasta pessoal.

Como alternativa, o comando que uso com mais freqüência é

ncdu

Fácil de instalar, se necessário:

sudo apt-get install ncdu
    
por don.joey 22.10.2013 / 13:30
38

Eu tenho a mesma pergunta na lista de discussão do coreutils, porque foi difícil para mim lembrar desse estranho comando de @ don.joey. E Bob Proulx propôs um comando melhor e mais natural: du -ahd1 | sort -h

  

Se você deseja listar todos os arquivos no diretório atual,   use '.' ou não dê nenhum argumento ao arquivo. Você também   pode querer usar a opção -d, --max-depth = N.

     

Tente isto:

     

du-hd1

    
por Yurii Kolesnykov 22.06.2015 / 09:19
6

Quando você executa o mesmo comando dentro do diretório, ele não inclui os arquivos ocultos que começam com . na contagem. Se você tiver o Steam, por exemplo, instalado, o padrão é instalar os jogos em ~/.local/share/Steam/ e ele também está instalado lá.

Sob bash você aparentemente precisa executar du -sch .[!.]* * , pois não expande adequadamente o .* glob. Sob zsh ou outros shells, du -sch * .* deve funcionar, pois .* deve ser expandido para incluir a lista de todos os arquivos ocultos no diretório atual.

    
por dobey 11.10.2013 / 22:48

Tags