将磁盘接入主机后,我们需要有工具来查看接入的磁盘设备信息,观察磁盘分区状态。

可用的工具有lsblk和blkid等。

使用lsblk列出系统上块设备的信息

回到顶部

lsblk为list block device的缩写,用来列出系统中块设备的信息。

lsblk命令常用格式如下:

[root@initroot ~]# lsblk [-dfimpt] [device]

选项与参数:

-d :仅列出磁盘本身,不列出该磁盘的分区数据;

-f :同时列出该磁盘内的文件系统名称;

-i :使用ASCII的编码格式输出,不要使用复杂的编码,再某些环境下很有用;

-m :同时输出该装置在/dev目录下的权限信息(rwx);

-p :列出该设备的完整文件名!而不是仅列出最后的名字。

-t :列出该磁盘设备的详细信息,包括磁盘队列机制、预读写的数据量大小等。

列出本系统下的所有磁盘与磁盘内的分区信息

[root@initroot ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 90G 0 disk

└─sda1 8:1 0 90G 0 part /

sr0 11:0 1 1024M 0 rom

从生面的输出中可以看出,目前系统中主要有两个块设备sda和sr0.系统中只有一块硬盘,就是sda,而这块硬盘也只有一个分区sda1.

lsblk输出的各字段说明如下:

NAME: 设备文件的文件名!默认会省略前面的/dev/;

MAJ:MIN: 主设备号和次设备号;

RM:是否为可卸除设备(removable device),如光盘、USB磁盘等;

SIZE:设备的容量大小;

RO:是否为只读设备;

TYPE:设备的类型,包括磁盘(disk)、分区(partition)还是只读存储器(rom)等;

MOUTPOINT:该设备的挂载点!

-p选项可以列出完整的设备路径文件名,也就是设备文件的绝对路径:

[root@initroot ~]# lsblk -p

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

/dev/sda 8:0 0 90G 0 disk

└─/dev/sda1 8:1 0 90G 0 part /

/dev/sr0 11:0 1 1024M 0 rom

-f选项列出设备分区的文件系统类型和设备的UUID:

[root@initroot ~]# lsblk -fp

NAME FSTYPE LABEL UUID MOUNTPOINT

/dev/sda

└─/dev/sda1 ext4 bc265682-0ec5-476d-acd6-97d5b5bec591 /

/dev/sr0

仅列出/dev/sda设备的信息:

[root@initroot ~]# lsblk -ip /dev/sda

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

/dev/sda 8:0 0 90G 0 disk

`-/dev/sda1 8:1 0 90G 0 part /

lsblk命令列出系统中块设备信息,常用来显示磁盘分区信息

peter@peter-VirtualBox:~$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 90G 0 disk

└─sda1 8:1 0 90G 0 part /

sr0 11:0 1 1024M 0 rom

Usage:

lsblk [options] [...]

List information about block devices.

Options:

-a, --all print all devices

-b, --bytes print SIZE in bytes rather than in human readable format

-d, --nodeps don't print slaves or holders

-D, --discard print discard capabilities

-z, --zoned print zone model

-e, --exclude exclude devices by major number (default: RAM disks)

-f, --fs output info about filesystems

-i, --ascii use ascii characters only

-I, --include show only devices with specified major numbers

-J, --json use JSON output format

-l, --list use list format output

-T, --tree use tree format output

-m, --perms output info about permissions

-n, --noheadings don't print headings

-o, --output output columns

-O, --output-all output all columns

-p, --paths print complete device path

-P, --pairs use key="value" output format

-r, --raw use raw output format

-s, --inverse inverse dependencies

-S, --scsi output info about SCSI devices

-t, --topology output info about topology

-x, --sort sort output by -h, --help display this help

-V, --version display version

Available output columns:

NAME device name

KNAME internal kernel device name

MAJ:MIN major:minor device number

FSTYPE filesystem type

MOUNTPOINT where the device is mounted

LABEL filesystem LABEL

UUID filesystem UUID

PARTTYPE partition type UUID

PARTLABEL partition LABEL

PARTUUID partition UUID

PARTFLAGS partition flags

RA read-ahead of the device

RO read-only device

RM removable device

HOTPLUG removable or hotplug device (usb, pcmcia, ...)

MODEL device identifier

SERIAL disk serial number

SIZE size of the device

STATE state of the device

OWNER user name

GROUP group name

MODE device node permissions

ALIGNMENT alignment offset

MIN-IO minimum I/O size

OPT-IO optimal I/O size

PHY-SEC physical sector size

LOG-SEC logical sector size

ROTA rotational device

SCHED I/O scheduler name

RQ-SIZE request queue size

TYPE device type

DISC-ALN discard alignment offset

DISC-GRAN discard granularity

DISC-MAX discard max bytes

DISC-ZERO discard zeroes data

WSAME write same max bytes

WWN unique storage identifier

RAND adds randomness

PKNAME internal parent kernel device name

HCTL Host:Channel:Target:Lun for SCSI

TRAN device transport type

SUBSYSTEMS de-duplicated chain of subsystems

REV device revision

VENDOR device vendor

ZONED zone model

For more details see lsblk(8).

blkid列出设备分区的信息

回到顶部

虽然lsblk可以使用-f列出文件系统与设备的UUID,但更常用的是使用blkid来查看设备的UUID!

UUID是全局唯一标识符(universally unique identifier),linux会为系统中的每个设备分配一个UUID。

UUID作为标识设备的全局唯一标识符,可以用来挂载文件系统。

blkid列出系统中所有分区的信息:

[root@initroot ~]# blkid

/dev/sda1: UUID="bc265682-0ec5-476d-acd6-97d5b5bec591" TYPE="ext4" PARTUUID="e89012ea-01"

上面的信息一目了然,每一行代表一个文件系统,主要列出设备名称、UUID以及文件系统的类型(TYPE)!

parted列出磁盘的分区表类型与分区信息

回到顶部

通过lsblk和blkid这两个命令,我们基本上就可以比较详细的了解系统中的块设备信息了。

现在的磁盘分区主要有MBR和GPT两个分区类型,可以通过parted命令查看磁盘分区类型。

[root@initroot ~]# parted device_name print

列出 /dev/vda 磁盘的相关数据

[root@initroot ~]# parted /dev/sda print

Model: ATA VBOX HARDDISK (scsi) # 磁盘的模块名称(厂商)

Disk /dev/sda: 96.6GB # 磁盘的总容量

Sector size (logical/physical): 512B/512B # 磁盘的每个逻辑/物理扇区容量

Partition Table: msdos #分区表的格式 (MBR/GPT)

Disk Flags:

Number Start End Size Type File system Flags

1 1049kB 96.6GB 96.6GB primary ext4 boot

有了足够的磁盘信息,我们就可以来对磁盘进行分区了。

initroot编辑整理,转载请注明www.initroot.com

Logo

更多推荐