Comme le dit le sujet; Je veux savoir pourquoi chaque répertoire a une taille égale à 4K même s'il contient des fichiers de tailles supérieures à 4K.
Veuillez jeter un œil à ce qui suit: -
$ ls -lh
total 2.0M
drwxr-xr-x 4 ankit ankit 4.0K Sep 11 07:28 Desktop
$ ls -lrh Desktop/
-rw-rw-r-- 1 ankit ankit 9.1M Aug 4 11:15 sophosthreatsaurusaz.pdf
-rw------- 1 ankit ankit 107K Dec 27 2010 KP 3 0.pdf
drwxrwsr-x 9 ankit ankit 4.0K Sep 10 19:26 eclipse
PS: je connais l' du -sh
utilitaire de ligne de commande.
Edit: je suppose que le répertoire est un conteneur pour les fichiers.
filesystem
files
Ankit
la source
la source
Réponses:
ls
vous montre la taille de ce lien , pas l'espace total occupé par le contenu du répertoire.la source
Pour comprendre cela, vous feriez mieux d'avoir une connaissance de base des éléments suivants (système de fichiers):
Sur un
ext4
système de fichiers typique (ce que la plupart des gens utilisent), lainode
taille par défaut est de 256 octets, la taille de bloc est de 4096 octets.Un répertoire est juste un fichier spécial qui contient un tableau de noms de fichiers et de numéros d'inode. Lorsque le répertoire a été créé, le système de fichiers a alloué 1 inode au répertoire avec un "nom de fichier" (nom dir en fait). L'inode pointe vers un seul bloc de données (surcharge minimale), qui est de 4096 octets. C'est pourquoi vous voyez 4096 / 4.0K lors de l'utilisation
ls
.Vous pouvez obtenir les détails en utilisant
tune2fs
&dumpe2fs
.Exemple
la source
La source
la source