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