Команда android не найдена

Вот несколько других подходов:

lshw

В короткой версии lshw удобно перечислять размер дисков в описании

sudo lshw -short | awk '/disk|volume/'            
/0/1/0.0.0    /dev/sda    disk        120GB Radeon R7
/0/1/0.0.0/1  /dev/sda1   volume      111GiB EXT4 volume
/0/2/0.0.0    /dev/cdrom  disk        DVDRAM GT20N

И для более подробной информации использование lshw -class volume,disk

lshw

udiscsctl имеет опцию info, которая в сочетании с -b (для блочного устройства ), может показывать подробную информацию. Используя простой цикл для цикла и awk, мы можем сделать его конкретным видом информации о разделах и размерах. Вот мой пример:

$ for device in /dev/sd* ; do udisksctl info  -b $device | awk '/[[:blank:]]Device:/; /Size/' ;done                
    Device:                     /dev/sda
    Size:                       120034123776
    Device:                     /dev/sda1
    Size:                       120032591872
    Size:               120032591872

Команда df

df показывает информацию обо всех смонтированных в данный момент файловых системах. Опять же, мы можем использовать эту команду напрямую, но также очистить выход, используя awk

df -h | awk 'NR==1 ;/\/dev\/sd*/'                                                                                
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       110G   68G   37G  66% /

. Здесь мы просто печатаем заголовок и используем флаг -h, который позволяет печатать размер в формате, удобном для чтения

df command

В папке /sys/class/block/ вы найдете файлы, относящиеся к блочным устройствам (которые обычно относятся к устройствам физической памяти). В частности, мы хотим сосредоточиться на любом файле, начинающемся с букв sd.

Например, у меня есть один жесткий диск с одним разделом. Таким образом, /sys/class/block/sda относится ко всему моему жесткому диску, а /sys/class/block/sda1 относится к моему разделу Ubuntu.

В каждой папке для каждого устройства вы найдете файл size, в котором указано, сколько блоков по 512 МБ есть на устройстве. Таким образом, истинный размер number of blocks x 521.

Опять же, с малой магией командной строки, мы получаем:

$ for device in /sys/class/block/sd*; do printf "%s " $device; bc <<< "$(cat $device/size)*512" ; done             
/sys/class/block/sda 120034123776
/sys/class/block/sda1 120032591872

Или немного короче с awk:

$ awk '{print substr(FILENAME,18)" "$1*512}' /sys/class/block/sd*/size                                             
sda/size 120034123776
sda1/size 120032591872
1
задан 7 September 2016 в 15:02

0 ответов

Другие вопросы по тегам:

Похожие вопросы: