由于目前磁盘分区主要有 MBR 以及 GPT 两种格式,这两种格式所使用的分区工具不太一样!你当然可以使用本章预计最后才介绍的parted这个通通有支持的工具来处理,不过,我们还是比较习惯使用 fdisk 或者是 gdisk 来处理分区啊!因此,我们自然就得要去找一下目前系统有的磁盘有哪些? 这些磁盘是 MBR 还是 GPT 等等的!这样才能处理啦!
- lsblk 列出系统上的所有磁盘列表
lsblk 可以看成“ list block device ”的缩写,就是列出所有储存设备的意思!这个工具软件真的很好用喔!来瞧一瞧!
[root@study ~]# lsblk [-dfimpt] [device]
选项与参数:
-d :仅列出磁盘本身,并不会列出该磁盘的分区数据
-f :同时列出该磁盘内的文件系统名称
-i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)
-m :同时输出该设备在 /dev 下面的权限数据 (rwx 的数据)
-p :列出该设备的完整文件名!而不是仅列出最后的名字而已。
-t :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等
范例一:列出本系统下的所有磁盘与磁盘内的分区信息
[root@study ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 40G 0 disk # 一整颗磁盘
&
#124;-vda1 252:1 0 2M 0 part
&
#124;-vda2 252:2 0 1G 0 part /boot
`-vda3 252:3 0 30G 0 part
&
#124;-centos-root 253:0 0 10G 0 lvm / # 在 vda3 内的其他文件系统
&
#124;-centos-swap 253:1 0 1G 0 lvm [SWAP]
`-centos-home 253:2 0 5G 0 lvm /home
从上面的输出我们可以很清楚的看到,目前的系统主要有个 sr0 以及一个 vda 的设备,而 vda 的设备下面又有三个分区, 其中 vda3 甚至还有因为 LVM 产生的文件系统!相当的完整吧!从范例一我们来谈谈默认输出的信息有哪些。
- NAME:就是设备的文件名啰!会省略 /dev 等前导目录!
- MAJ:MIN:其实核心认识的设备都是通过这两个代码来熟悉的!分别是主要:次要设备代码!
- RM:是否为可卸载设备 (removable device),如光盘、USB 磁盘等等
- SIZE:当然就是容量啰!
- RO:是否为只读设备的意思
- TYPE:是磁盘 (disk)、分区 (partition) 还是只读存储器 (rom) 等输出
MOUTPOINT:就是前一章谈到的挂载点!
范例二:仅列出 /dev/vda 设备内的所有数据的完整文件名 [root@study ~]# lsblk -ip /dev/vda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/vda 252:0 0 40G 0 disk
&
124;-/dev/vda1 252:1 0 2M 0 part
&
124;-/dev/vda2 252:2 0 1G 0 part /boot
`-/dev/vda3 252:3 0 30G 0 part
&
124;-/dev/mapper/centos-root 253:0 0 10G 0 lvm /
&
124;-/dev/mapper/centos-swap 253:1 0 1G 0 lvm [SWAP]
`-/dev/mapper/centos-home 253:2 0 5G 0 lvm /home # 完整的文件名,由 / 开始写
- blkid 列出设备的 UUID 等参数
虽然 lsblk 已经可以使用 -f 来列出文件系统与设备的 UUID 数据,不过,鸟哥还是比较习惯直接使用 blkid 来找出设备的 UUID 喔! 什么是 UUID 呢?UUID 是全域单一识别码 (universally unique identifier),Linux 会将系统内所有的设备都给予一个独一无二的识别码, 这个识别码就可以拿来作为挂载或者是使用这个设备/文件系统之用了。
[root@study ~]# blkid
/dev/vda2: UUID="94ac5f77-cb8a-495e-a65b-2ef7442b837c" TYPE="xfs"
/dev/vda3: UUID="WStYq1-P93d-oShM-JNe3-KeDl-bBf6-RSmfae" TYPE="LVM2_member"
/dev/sda1: UUID="35BC-6D6B" TYPE="vfat"
/dev/mapper/centos-root: UUID="299bdc5b-de6d-486a-a0d2-375402aaab27" TYPE="xfs"
/dev/mapper/centos-swap: UUID="905dc471-6c10-4108-b376-a802edbd862d" TYPE="swap"
/dev/mapper/centos-home: UUID="29979bf1-4a28-48e0-be4a-66329bf727d9" TYPE="xfs"
如上所示,每一行代表一个文件系统,主要列出设备名称、UUID 名称以及文件系统的类型 (TYPE)!这对于管理员来说,相当有帮助! 对于系统上面的文件系统观察来说,真是一目了然!
- parted 列出磁盘的分区表类型与分区信息
虽然我们已经知道了系统上面的所有设备,并且通过 blkid 也知道了所有的文件系统!不过,还是不清楚磁盘的分区类型。 这时我们可以通过简单的 parted 来输出喔!我们这里仅简单的利用他的输出而已~本章最后才会详细介绍这个指令的用法的!
[root@study ~]# parted device_name print
范例一:列出 /dev/vda 磁盘的相关数据
[root@study ~]# parted /dev/vda print
Model: Virtio Block Device (virtblk) # 磁盘的模块名称(厂商)
Disk /dev/vda: 42.9GB # 磁盘的总容量
Sector size (logical/physical): 512B/512B # 磁盘的每个逻辑/物理扇区容量
Partition Table: gpt # 分区表的格式 (MBR/GPT)
Disk Flags: pmbr_boot
Number Start End Size File system Name Flags # 下面才是分区数据
1 1049kB 3146kB 2097kB bios_grub
2 3146kB 1077MB 1074MB xfs
3 1077MB 33.3GB 32.2GB lvm
看到上表的说明,你就知道啦!我们用的就是 GPT 的分区格式喔!这样会观察磁盘分区了吗?接下来要来操作磁盘分区了喔!