У меня установлен сервер Ubuntu 12.04 без GUI. Я хотел бы перечислить мой жесткий диск и его разделы вместе с тем, насколько большой каждый раздел использует командную строку.
Вот несколько других подходов:
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
В терминале:
sudo fdisk -l
Введите свой пароль.
lsblk команда:
[ ! d3]
Я добрался до этого, выполнив поиск в разделе «gb partitions» списка ubuntu. Я искал ответ при использовании 16.04.1 LTS. Для тех из вас, кто хочет перечислить разделы (MBR или GPT), fdisk, похоже, поддерживает как (а не только MBR, как в предыдущих версиях Ubuntu) в 16.04.1 LTS. Кроме того, parted не устанавливается по умолчанию, когда во время установки выбирается опция «Основные системные утилиты». Итак, следующая команда - это все, что вам нужно на 16.04.1 LTS:
sudo fdisk -l