web-dev-qa-db-ja.com

ファイルシステムのサイズを見つける方法は?

Linuxでファイルシステムのサイズを調べるにはどうすればよいですか?つまり、ファイルシステムで圧縮または重複排除を使用する場合の実際のサイズとは異なる可能性があるため、dfの出力だけでなく、パーティションから使用される正確なバイト数を意味します。

パーティション自体のサイズは、次のコマンドで印刷できます。

$ lsblk -b

または

$ blockdev --getsize64 /dev/sda

ファイルシステムに似たものを探しています。

PS:これはLVMの成長/縮小用です。私は主にext2/3/4とbtrfsに興味がありますが、他のファイルシステム情報も同様に高く評価されています。

6
Grumbel

パーティション/ボリューム情報ではなくファイルシステム情報が必要な場合は、ファイルシステム固有のツールを使用する必要があると思います。

ExtNシステムの場合、それはdumpe2fsになります。そして、dumpe2fsは、私が知る限り、サイズをバイト単位で直接出力しません。ただし、ブロック数とブロックのサイズは出力されるため、代わりに出力を解析できます。

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

私の場合、このサイズはパーティションサイズとわずかに異なります。

$ 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

パーティションサイズは29999983104バイトで、ブロックサイズの倍数よりも2560バイト多く、これがdumpe2fsによって報告されるサイズが小さい理由です。

8
muru

Btrfsの場合、次を使用できます。

Sudo btrfs filesystem usage -b /mountpoint
2
Tom Hale

調査するファイルシステムによって異なります。

ext2、ext3、ext4ファイルシステム

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

バイト数を取得するには、ブロックカウントとブロックサイズを乗算する必要があります。

ISO-9660ファイルシステム

 isoinfo -d -i ubuntu-18.10-desktop-AMD64.iso | grep -A1 '^論理ブロックサイズ' 

ボリュームサイズの単位は論理ブロックであるため、バイト数を取得するには、ボリュームサイズと論理ブロックサイズを乗算する必要があります。

BTRFSファイルシステム

1つのbtrfsは複数のデバイスを含むことができるため、コマンドは引数としてマウントポイントを取ります

 btrfsファイルシステムの使用法-b/mnt/mountpoint | grep 'デバイスサイズ' 
2
Jarl