Question Pourquoi cela ne montre-t-il pas les fichiers / dossiers cachés?


Je parcourais mon système avec du -sch ./* pour trouver les gros fichiers inutiles que j'ai pu stocker sans raison, quand j'ai trouvé ceci:

$ 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

Comment rendre les fichiers cachés visibles? du -sch ./.* donne le même résultat que du -sch ./*.


111
2017-10-11 20:30


origine


du -hs .[^.]* * pour tous les fichiers cachés, à l'exclusion  . et .. quelles autres réponses semblent manquer. - laggingreflex


Réponses:


Utilisation

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

dans votre dossier personnel.

Alternativement, la commande que j'utilise le plus souvent est

ncdu

Facile à installer si nécessaire:

sudo apt-get install ncdu

199
2017-10-22 11:30



Merci, vous êtes un génie. Je ne suis pas un maître en bash, que fais-tu? - Dr_Bunsen
@Dr_Bunsen: C'est un glob qui répertorie tous les fichiers qui commencent par un seul .. Voici une astuce: si vous ne savez pas ce que fait une chose à la mode, essayez de courir echo .[!.]* ou peu importe. Le shell étendra alors le glob et le passera dans echo, imprimant la liste des fichiers qui en résulte. - Tikhon Jelvis
Cela ne parvient pas à répertorier les fichiers nommés comme ..foo et peut causer des problèmes avec les fichiers dont le nom commence par -. Il pourrait également échouer si la liste d'arguments est trop longue. du -ahd1 n'aurait aucun de ces problèmes. - Stéphane Chazelas
Indifférent à la question initiale, mais pertinent pour un usage quotidien: il peut être utile d'inclure l'option 'c' pour afficher le total et réorganiser légèrement les options pour rendre cette commande plus facile à mémoriser: du -cksh .[!.]* * |sort -h. - Daddy32


J'ai la même question dans la liste de diffusion coreutils, car il était difficile pour moi de me souvenir de cette commande étrange par @ don.joey. Et Bob Proulx proposé mieux, commande plus naturelle: du -ahd1 | sort -h

Si vous voulez lister tous les fichiers du répertoire en cours,   soit utiliser '.' ou ne lui donnez aucun argument de fichier. Également   peut vouloir utiliser l'option -d, --max-depth = N.

Essaye ça:

du -hd1


41
2018-06-22 07:19



Ajouter le -a option pour qu'il soit équivalent. - Stéphane Chazelas
Cela devrait être la réponse acceptée car elle est plus simple et plus facile à retenir et à comprendre. - Bastien


Lorsque vous exécutez cette même commande dans le répertoire, les fichiers cachés commençant par . dans le compte. Si Steam est par exemple installé, il installe par défaut des jeux sous ~/.local/share/Steam/ et elle-même y est installée.

Sous bash vous devez apparemment courir du -sch .[!.]* * comme il ne développe pas correctement le .* glob. En dessous de zsh ou d'autres coquilles, du -sch * .* devrait fonctionner, comme .* devrait être développé pour inclure la liste de tous les fichiers cachés dans le répertoire en cours.


6
2017-10-11 20:48



D'ACCORD. Il y a apparemment un problème avec bash alors, car il ne semble pas s'étendre correctement .*. Mais du -sch * .* fait la bonne chose sous zsh. Sous bash, du -sch .* semble compter . mais ne se développe pas pour afficher les fichiers individuellement. - dobey
Pour moi. * S'étend aussi à ../* et par conséquent, sort du répertoire que je veux voir sa taille! Je devais utiliser ./.[^.]* à la place. - Ari
Il s'agit de zsh et de tous les shells dérivés du shell Forsyth (de nos jours, il ne s'agit que de pdksh et de ses dérivés) qui font ce qu'il faut et ne se développent pas. et ici. Tous les autres shells Bourne-like (bash, Bourne, AT & T ksh, dash, yash ...). Dans zsh, vous utiliseriez du -sch -- *(D) cependant, pas du -sch -- * .*. - Stéphane Chazelas