2016-11-02 2 views
0

Je n'arrive pas à comprendre pourquoi j'ai une taille totale différente dans un dossier par rapport à un parent.Pourquoi la commande affiche un total différent dans le dossier par rapport au parent

C'est mon arbre dossier

bkp 
|-- raid10 
| |-- folder_a 
| |-- folder_b 
| |-- folder_c 
| |-- folder_d 
| |-- folder_e 
| |-- folder_f 
| |-- folder_g 
| |-- folder_h 
| |-- folder_i 
| |-- folder_j 
| |-- folder_k 
| |-- folder_l 
| |-- script.sh 
|-- vm 

supprimer précédemment une grande quantité de fichier dans ce dossier et je veux obtenir ma nouvelle utilisation du disque.

sudo du -shc /bkp/* 
756G raid10 
4.0K vm 
756G total 

Maintenant, j'exécuter cette commande pour obtenir plus d'informations sur le dossier raid10:

sudo du -shc /bkp/raid10/* 
13G  folder_a 
178M folder_b 
15G  folder_c 
2.3G folder_d 
32M  folder_e 
31G  folder_f 
31G  folder_g 
49G  folder_h 
131M folder_i 
4.7G folder_j 
392M folder_k 
4.0K folder_l 
4.0K lost+found 
4.0K script.sh~ 
144G total 

Pourquoi le total est si différent?

J'ai vérifié man du et essayé quelques commandes, comme --apparent-size, mais le même résultat. Essayez aussi sans -s sudo du -hc /bkp/raid10/*, j'ai le même total, mais je vois tous rép ...

J'ai quelques hypothèses:

  • Il y a une cache dans la commande du?
  • Il y a une corbeille ou un fichier caché que du ne peut pas lire?

Quelques informations sur mes fichiers:

  • système de fichiers disque est ext4
  • fichier sont téléchargés avec rsync
  • disque n'est pas dans un raid
+1

Tous les fichiers commençant par "." (caractère point) dans le répertoire raid10? Pouvez-vous faire 'ls -al' dans le répertoire raid10 et voir. Ou vous pourriez courir 'trouver. -name ". *" -ls' pour trouver ces répertoires/fichiers de manière récursive. – blackpen

+1

@blackpen Merci, j'ai trouvé mon problème, j'ai un dossier .trash-1000 dans mon raid10 –

Répondre

1

Pour faire du recherche invisible faire juste:

#First part will get all invisible and second will get all non-invisible 
du -shc /bkp/raid10/.[!.]* /bkp/raid10/* 

Ou commande plus propre:

cd /bkp/raid10 
du -sch .[!.]* * 

Ou activez l'option shell qui correspond fichier caché avec englobement

shopt -s dotglob 
du -sch * 
+1

Bon. Avez-vous essayé de trouver l'utilisation du disque pour les répertoires/fichiers cachés uniquement dans le répertoire/bkp/raid10 (OU également dans le répertoire courant)? Peut être que vous le voulez comme '/ bkp/raid10 /.[!.]*'? – blackpen

+0

Oui, vous avez raison, ma commande n'est pas bonne, je vais éditer pour une réponse plus propre. C'est un travail parce que je suis dans/bkp/raid10. –

+2

Ou simplement activer l'option shell qui correspond aux fichiers cachés avec globbing (par exemple 'dotglob' sur bash). –

0

Pour rechercher cachés (noms commençant par un point) des fichiers/répertoires récursive:

find . -name ".*" -ls