Как я могу узнать размер файловой системы в Linux? Под этим я подразумеваю точное количество байтов, которые используются из раздела, а не только вывод df
, поскольку это может отличаться от истинного размера, когда сжатие или дедупликация используется в файловой системе.
Размер самого раздела можно распечатать с помощью:
$ lsblk -b
или
$ blockdev --getsize64 /dev/sda
Я ищу что-то похожее для файловой системы.
PS: это для LVM роста / сжатия. В основном меня интересуют ext2 / 3/4 и btrfs, но любая другая информация о файловой системе также приветствуется.
Если Вы хотите информацию о файловой системе и не информацию о разделе/объеме, я думаю, что необходимо будет использовать определенные для файловой системы инструменты.
В случае 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 байта, на 2 560 байтов больше, чем несколько из размера блока, который является, почему размер, о котором сообщают dumpe2fs
, меньше.
Для btrfs можно использовать:
sudo btrfs filesystem usage -b /mountpoint
Это зависит от файловой системы, которую Вы хотите исследовать:
dumpe2fs -h /dev/sda1 | grep '^Block'
необходимо умножить количество блока и размер блока для получения числа байтов.
isoinfo -d -i ubuntu-18.10-desktop-amd64.iso | grep -A1 '^Logical block size'
единица для размера тома является логическими блоками, таким образом, необходимо умножить размер тома и размер логического блока для получения числа байтов.
Как один btrfs может включать несколько устройств, команда берет точку монтирования в качестве аргумента
btrfs filesystem usage -b /mnt/mountpoint | grep 'Device size'