Perché questo non mostra i file / le cartelle nascoste?

115

Stavo guardando attraverso il mio sistema con du -sch ./* per trovare i grandi file inutili che potrei aver accumulato senza motivo, quando ho trovato questo:

$ 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

Come faccio a rendere visibili i file nascosti? du -sch ./.* fornisce lo stesso risultato di du -sch ./* .

    
posta Dr_Bunsen 11.10.2013 - 22:30
fonte

3 risposte

209

Usa

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

nella tua cartella Inizio.

In alternativa, il comando che uso più frequentemente è

ncdu

Facile da installare se necessario:

sudo apt-get install ncdu
    
risposta data don.joey 22.10.2013 - 13:30
fonte
43

Ho la stessa domanda nella mailing list di coreutils, perché è stato difficile per me ricordare questo strano comando di @ don.joey. E Bob Proulx ha proposto un comando migliore e più naturale: % Co_de%

% Bl0ck_qu0te%     
risposta data Yurii Kolesnykov 22.06.2015 - 09:19
fonte
7

Quando esegui lo stesso comando all'interno della directory, non include i file nascosti che iniziano con . nel conteggio. Se ad esempio è installato Steam, per impostazione predefinita installa i giochi con ~/.local/share/Steam/ e viene installato anche lì.

Sotto bash sembra che tu debba eseguire du -sch .[!.]* * in quanto non espande correttamente il .* glob. Sotto zsh o altre shell, du -sch * .* dovrebbe funzionare, poiché .* dovrebbe essere espanso per includere l'elenco di tutti i file nascosti nella directory corrente.

    
risposta data dobey 11.10.2013 - 22:48
fonte

Leggi altre domande sui tag