web-dev-qa-db-fra.com

Comment trouver la taille d'un système de fichiers?

Comment puis-je connaître la taille d'un système de fichiers sous Linux? J'entends par là le nombre exact d'octets utilisés à partir de la partition, pas seulement la sortie de df, car cela peut différer de la taille réelle lorsque la compression ou la déduplication est utilisée sur le système de fichiers.

La taille de la partition elle-même peut être imprimée avec:

$ lsblk -b

ou

$ blockdev --getsize64 /dev/sda

Je cherche quelque chose de similaire pour le système de fichiers.

PS: Ceci est pour LVM cultiver/réduire les choses. Je suis surtout intéressé par ext2/3/4 et btrfs, mais toute autre information relative au système de fichiers est également appréciée.

6
Grumbel

Si vous voulez des informations sur le système de fichiers et non sur la partition/le volume, je pense que vous devrez utiliser des outils spécifiques au système de fichiers.

Dans le cas des systèmes extN, ce serait dumpe2fs. Et dumpe2fs n'imprime pas directement la taille en octets, pour autant que je sache. Cependant, le nombre de blocs et la taille des blocs sont imprimés, vous pouvez donc analyser la sortie:

$ dumpe2fs -h /dev/sda1 |& awk -F: '/Block count/{count=$2} /Block size/{size=$2} END{print count*size}'           
29999980544

Dans mon cas, cette taille est légèrement différente de la taille de la partition:

$ parted /dev/sda u b p
Model: ATA ST500LT012-1DG14 (scsi)
Disk /dev/sda: 500107862016B
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start          End            Size           File system     Name  Flags
 1      17408B         30000000511B   29999983104B   ext4                  boot, esp
 2      30000807936B   453049843711B  423049035776B  ext4
 5      453049843712B  495999516671B  42949672960B   ext4
 3      495999516672B  500102862847B  4103346176B    linux-swap(v1)
 4      500102862848B  500107845119B  4982272B                             bios_grub

La taille de la partition est de 29999983104 octets, soit 2 560 octets de plus qu'un multiple de la taille du bloc. C'est pourquoi la taille indiquée par dumpe2fs est inférieure.

8
muru

Pour btrfs, vous pouvez utiliser:

Sudo btrfs filesystem usage -b /mountpoint
2
Tom Hale

Cela dépend du système de fichiers que vous souhaitez explorer:

système de fichiers ext2, ext3, ext4

 dumpe2fs -h/dev/sda1 | grep '^ Block' 

Vous devez multiplier le nombre de blocs et la taille de blocs pour obtenir le nombre d'octets.

Système de fichiers ISO-9660

 isoinfo -d -i ubuntu-18.10-desktop-AMD64.iso | grep -A1 '^ Taille du bloc logique' 

L'unité de la taille du volume est constituée de blocs logiques. Vous devez donc multiplier la taille du volume et la taille du bloc logique pour obtenir le nombre d'octets.

Système de fichiers BTRFS

Comme un btrfs peut inclure plusieurs périphériques, la commande prend le point de montage en argument

 Utilisation du système de fichiers btrfs -b/mnt/mountpoint | grep 'Taille du périphérique' 
2
Jarl