Linux查看硬盘(fdisk | lsblk)

摘要

本文将讨论如何在Linux中查看硬盘和硬盘分区。

引言

首先,我们需要弄清楚Linux中硬盘和硬盘分区的命名规则。

硬盘命名规则

由于Linux中所有的设备都是以文件的形式出现,因此硬盘也不例外,也是用一个文件来表示。

硬盘设备文件名格式一般为/dev/xxy。前两个字母xx标明硬盘类型:

sd:表示这个硬盘是采用SCSI SATA或USB接口的硬盘

hd:表示这是一个采用IDE接口的硬盘(目前基本不用了)

y则表明硬盘是用此类接口的第几个硬盘。y一般是a-z之间的英文字符。例如,/dev/shd表示这是第四个使用IDE接口的硬盘。

分区命名规则

接下来,我们介绍Linux中硬盘分区的命令规则。分区同样以一个文件的形式出现,硬盘上分区文件的命令规则一般为/dev/xxyn,比硬盘文件多了一个n,n表示分区,主分区或拓展分区用数字1-4表示,逻辑分区从5开始。如/dev/hda3表示在第一个IDE硬盘上的第三个主分区或拓展分区。

用法

fdisk

Linux中使用fdisk -l硬盘名|分区名 命令可以显示或操作磁盘分区表。例如,查看系统中的第一个硬盘:

root@centos:~# fdisk -l /dev/sda

Disk /dev/sda:1.84 TiB,2000398934016字节,3907029168个扇区

Disk model: ST2000NX0253

单元:扇区/ 1 * 512 = 512字节

扇区大小(逻辑/物理):512字节/ 4096字节

I/O大小(最小/最佳):4096字节/ 4096字节

磁盘标签类型:gpt

磁盘标识符:27E8F38B-1909-4730-B931-D399FF19A594

设备        起点      末尾      扇区 大小类型

/dev/sda1    2048       4095       2048    1M BIOS启动

/dev/sda2    4096     976895     972800  475M Microsoft基本数据

/dev/sda3  976896 3726032895 3725056000  1.8T Linux LVM

输出信息分为两部分。第一部分显示硬盘的基本参数,包括容量、磁头数和扇区数等。第二部分显示硬盘的分区情况。如果硬盘没有分区,这部分是空白;如果已经分区,每行将代表一个分区,各个字段的定义如下:

Device:分区名

Boot:是否允许标准DOS PC主引导记录引导该分区(该标记对Linux的GRUB引导装载程序没有意义)

Start:分区起始柱面

End:分区结束柱面

Blocks:大小为1k的块的数量

Id:分区的预期用途(并不是真实用途,82表示交互分区,83表示数据分区)

值得一提的是,目前逐渐成为主流的固态硬盘中,虽然没有盘片、磁头、扇区这些物理零件,但固态硬盘的接口规范、定义功能及使用方法上与普通机械硬盘完全相同。因此,逻辑上固态硬盘也有柱面、扇区,磁头等参数。

上一篇文章介绍了使用fdisk命令查看指定硬盘设备或分区的信息。本文将介绍一个新的命令lsblk,该命令以非常友好的方式列出系统中所有硬盘设备及分区的情况,为我们分区或创建文件系统做好准备。

lsblk

除fdisk外,我们更推荐使用lsblk命令来查看系统中所有的硬盘情况,lsblk会显示系统中除了内存虚拟磁盘外的所有可用块设备的信息:

root@centos:~# lsblk

NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

sda               8:0    0   1.8T  0 disk

├─sda1            8:1    0     1M  0 part

├─sda2            8:2    0   475M  0 part

└─sda3            8:3    0   1.8T  0 part

  ├─centos-root 253:0    0   1.7T  0 lvm

  └─centos-swap 253:1    0    32G  0 lvm

sdb               8:16   0 931.5G  0 disk

├─sdb1            8:17   0   512M  0 part /boot/efi

└─sdb2            8:18   0   931G  0 part /

sdc               8:32   0   1.8T  0 disk

└─sdc1            8:33   0   1.8T  0 part /home1

sdd               8:48   0 223.6G  0 disk

└─sdd1            8:49   0 223.6G  0 part

从上述输出信息中,可以直观地了解到目前系统的硬盘分区及挂载情况。你也许可以发现,lsblk显示的块设备的名字十分特别。事实上,Linux中的块设备的命名是有一定规则的。

对于SATA、SCSI或USB接口的硬盘或U盘,其命名规则如下:

主设备文件名    次设置文件名(分区)

sd[小写字母]

如sda、sdb等    sd[小写字母][正整数]

如sda1、sdc1等

对于NVMe(M.2)接口的硬盘,其命名规则如下:

主设备文件名    次设置文件名(分区)

nvme[非负整数]

如nvme0、nvme1等    sd[非负整数]n[正整数]p[正整数]

如nvme0n1p1、nvme1n1p3等

对于CD或DVD(ROM)光驱设备,其命名规则如下:

主设备文件名    次设置文件名(分区)

sr[非负整数]

如sr0、sr1等    光驱不能分区

特别要注意的是,Linux中的存储设备的名字并非固定,在热插拔、重启等操作后,存储设备名字中的序号可能会发生改变。如sda变成sdc,这种改变可能会让系统管理员犯一些低级错误,如误删数据,误分区等,因此通过设备文件操作硬盘之前,一定要确认好设备名称。在自动化管理和配置文件中,如开机自动挂载配置文件/etc/fstab,强烈不建议使用设备文件名来指定存储设备,而是应该使用设备的UUID。

像这种实际操作的话,还是建议去租一个服务器,为了方便做实验,和当web服务器

全部评论

相关推荐

11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务