Системные администраторы Linux обычно составляют перечисляют диски для проверки всего дискового пространства.
Списки дисков также помогают увидеть подключенные к системе диски, разделы и файловую систему диска.
В системе Linux существует несколько способов составления списка всех жестких дисков. В этом руководстве мы узнаем, как составить список дисков в Linux с помощью командной строки.
1. lsblk
lsblk (list block devices) используется для вывода информации обо всех доступных блочных устройствах, таких как жесткий диск и флэш-накопители.
Просто набрав команду lsblk, вы получите список всех блочных устройств в виде дерева.
Это удобный и простой способ составления списка дисков.
lsblk
Вывод:
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 529M 0 part
├─sda2 8:2 0 100M 0 part /boot/efi
├─sda3 8:3 0 16M 0 part
├─sda4 8:4 0 165.8G 0 part
├─sda5 8:5 0 70G 0 part /
└─sda6 8:6 0 2G 0 part [SWAP]
zram0 252:0 0 8G 0 disk [SWAP]
2. df -h
Команда df используется для вывода списка доступного дискового пространства в целом.
Команда df по умолчанию выводит имя устройства, общее количество блоков, используемое дисковое пространство, доступное дисковое пространство, процент используемого пространства, точку монтирования файловой системы, а также выводит удаленно смонтированные файловые системы, такие как NFS.
Команда df -h выводит список доступного пространства на всех дисках в удобочитаемой форме.
$ sudo df -h
Вывод:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 90M 5.7G 2% /dev/shm
tmpfs 2.4G 11M 2.4G 1% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sda5 69G 62G 3.1G 96% /
tmpfs 5.8G 4.7M 5.8G 1% /tmp
/dev/sda2 96M 41M 56M 43% /boot/efi
tmpfs 1.2G 200K 1.2G 1% /run/user/1000
3. fdisk -l
Команда fdisk – это текстовая утилита, используемая для управления разделами диска.
С помощью fdisk можно вывести список разделов диска, создать новый раздел, удалить существующий раздел жесткого диска и просмотреть размер раздела.
Использование команды fdisk -l для просмотра всех доступных разделов диска
$ sudo fdisk -l
Вывод:
Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors Disk model: SK hynix SC300B Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4 Device Start End Sectors Size Type /dev/sda1 2048 1085439 1083392 529M Windows recovery environment /dev/sda2 1085440 1290239 204800 100M EFI System /dev/sda3 1290240 1323007 32768 16M Microsoft reserved /dev/sda4 1323008 349122559 347799552 165.8G Microsoft basic data /dev/sda5 349122560 495923199 146800640 70G Linux filesystem /dev/sda6 495923200 500117503 4194304 2G Linux swap Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/loop0: 207.15 MiB, 217214976 bytes, 424248 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop1: 99.18 MiB, 103993344 bytes, 203112 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
4. parted -l
Parted – это полезный и мощный инструмент, используемый для управления разделами жесткого диска из командной строки: список, создание, уменьшение, удаление, поиск и восстановление разделов диска.
С помощью команды parted вы можете легко управлять всеми разделами жесткого диска.
Команда parted -l выводит список разделов диска на всех блочных устройствах.
$ sudo parted -l
Вывод:
Model: ATA SK hynix SC300B (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 556MB 555MB ntfs Basic data partition hidden, diag
2 556MB 661MB 105MB fat32 EFI System Partition boot, esp
3 661MB 677MB 16.8MB Microsoft reserved partition msftres
4 677MB 179GB 178GB ntfs Basic data partition msftdata
5 179GB 254GB 75.2GB ext4
6 254GB 256GB 2147MB linux-swap(v1) swap
Model: Unknown (unknown)
Disk /dev/zram0: 8590MB
Sector size (logical/physical): 4096B/4096B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 8590MB 8590MB linux-swap(v1)
5. cfdisk
Команда cfdisk немного отличается от вышеперечисленных команд, она предоставляет графическое представление в текстовом интерфейсе терминала для управления дисками.
С помощью cfdisk вы можете перечислять, создавать, удалять и изменять разделы на дисковом устройстве.
$ sudo cfdisk
Вывод:
Disk: /dev/sda Size: 238.47 GiB, 256060514304 bytes, 500118192 sectors Label: gpt, identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4 Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1290239 204800 100M EFI System
/dev/sda3 1290240 1323007 32768 16M Microsoft reserved
/dev/sda4 1323008 349122559 347799552 165.8G Microsoft basic data
/dev/sda5 349122560 495923199 146800640 70G Linux filesystem
/dev/sda6 495923200 500117503 4194304 2G Linux swap
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Partition name: Basic data partition │
│ Partition UUID: E73F9719-F144-42A8-87BC-862FB470828B │
│ Partition type: Windows recovery environment (DE94BBA4-06D1-4D40-A16A-BFD50179D6AC) │
│ Attributes: RequiredPartition │
│ Filesystem UUID: 8C0A62C30A62A9C2 │
│Filesystem LABEL: Recovery │
│ Filesystem: ntfs │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
[ Delete ] [ Resize ] [ Quit ] [ Type ] [ Help ] [ Write ] [ Dump ]
6. sfdisk -l
sfdisk – это редактор таблицы разделов.
Он может перечислить разделы на устройстве, указать размер раздела, проверить разделы на устройстве и подготовить устройство.
Он не предназначен для работы с большими разделами.
sfdisk -l выводит список разделов диска.
sudo sfdisk -l
Вывод:
Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: SK hynix SC300B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4
Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1290239 204800 100M EFI System
/dev/sda3 1290240 1323007 32768 16M Microsoft reserved
/dev/sda4 1323008 349122559 347799552 165.8G Microsoft basic data
/dev/sda5 349122560 495923199 146800640 70G Linux filesystem
/dev/sda6 495923200 500117503 4194304 2G Linux swap
Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/loop0: 207.15 MiB, 217214976 bytes, 424248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 99.18 MiB, 103993344 bytes, 203112 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
7. ls -l /dev/disk/by-id
Команда ls – это очень простая, но мощная команда, используемая для перечисления файлов и каталогов.
Мы можем перечислить диски, перечислив каталог /dev/disk/by-id.
$ ls -l /dev/disk/by-id
Вывод:
total 0
lrwxrwxrwx 1 root root 9 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part6 -> ../../sda6
lrwxrwxrwx 1 root root 9 Jun 20 23:26 wwn-0x5ace42e0900dd482 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part6 -> ../../sda6
Вы также можете составить список по:
- by-label
- by-partlabel
- by-partuuid
- by-path
- by-uuid
8. lshw -class disk
lshw – это инструмент Linux, который используется для получения подробной информации об аппаратной конфигурации системы.
Используйте -class disk, чтобы перечислить информацию о диске.
$ sudo lshw -class disk
Вывод:
*-disk
description: ATA Disk
product: SK hynix SC300B
physical id: 0.0.0
bus info: scsi@1:0.0.0
logical name: /dev/sda
version: 0P00
serial: FI68N023911308NC9
size: 238GiB (256GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=ff57c955-d98a-49c4-b1ed-835a44f2a0a4 logicalsectorsize=512 sectorsize=4096
Также можно выводить -class disk как -json или -html или -xml.
$ sudo lshw -class disk -json
Вывод:
{
"id" : "disk",
"class" : "disk",
"claimed" : true,
"handle" : "GUID:ff57c955-d98a-49c4-b1ed-835a44f2a0a4",
"description" : "ATA Disk",
"product" : "SK hynix SC300B",
"physid" : "0.0.0",
"businfo" : "scsi@1:0.0.0",
"logicalname" : "/dev/sda",
"dev" : "8:0",
"version" : "0P00",
"serial" : "FI68N023911308NC9",
"units" : "bytes",
"size" : 256060514304,
"configuration" : {
"ansiversion" : "5",
"guid" : "ff57c955-d98a-49c4-b1ed-835a44f2a0a4",
"logicalsectorsize" : "512",
"sectorsize" : "4096"
},
"capabilities" : {
"gpt-1.00" : "GUID Partition Table version 1.00",
"partitioned" : "Partitioned disk",
"partitioned:gpt" : "GUID partition table"
},
"children" : [
]
}
Заключение
Для выполнения всех команд, кроме lsblk и ls -l dev/disk, требуется доступ root или права суперпользователя.
В этом руководстве мы узнали, как составить список дисков в Linux с помощью командной строки.