следующая команда diskutil info disk0s2 | grep -Ei 'Total.+([0-9]){10,}' | grep -Eio '[0-9]{10,}'
(при условии, что у вас есть disk0s2) возвращает размер диска / раздела в байтах.
Предполагая, что ваш диск имеет размер не менее 127.2 GigbaGytes
или ~ 127.000.000.000 bytes
, вы получите один размер раздела s2
из этой команды, который будет работать точно так же для всего диска.
diskutil info disk0 | grep -Ei 'Total.+([0-9]){10,}' | grep -Eio '[0-9]{10,}'
мои 128ГБ SSD-диски exectly 128035676160
байт для диска и 127175917568
и один раздел минус 200 МБ для EFI
Измените Total в регулярном выражении на Free , и вы получите доступное свободное место для выбранного раздела. Используйте размер в некоторых модных сценариях резервного копирования pv + dd + pigz ;-)
например:
DISK0S2_SIZE=`diskutil info disk0s2 | \
grep -Ei 'Total.+([0-9]){10,}' | \
grep -Eio '[0-9]{10,}'` | \
sudo dd if=/dev/rdisk0s2 bs=1m | \
pv -s $DISK0S2_SIZE | \
pigz -9z > /path/to/backup.zz
Здесь мы предполагаем, что я хочу disk0s2 z-ziped со сжатием 9 (11 - max или flag --best),
Скажи привет изящному индикатору прогресса dd, так как это одна из тех операций, которые никогда не умели делать; -)