linux 硬盘相关命令,Linux 磁盘相关命令整理

本文详细介绍了Linux系统中用于管理磁盘的几个关键命令,包括lsblk用于查看块设备信息,blkid显示UUID和文件系统类型,以及如何判断磁盘类型和模拟插拔操作。对于程序员来说,理解这些命令有助于更好地管理和维护存储设备。
摘要由CSDN通过智能技术生成

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

介绍

近来,接触底层的内容多了一些,顺手撸一个 「 磁盘 」 相关主线的命令行备份,记录在这里留作备忘 …

涉及命令lsblk: 罗列所有可用块设备的信息

blkid: 显示关于可用块设备的信息

sgdisk:

smartctl:

sas2ircu/sas3iru:

lsblk 命令lsblk(列出块设备)命令用于列出所有可用块设备的信息,但是,它不会列出RAM盘的信息。块设备有硬盘,闪存盘,CD-ROM等等。 引用自:参考资料 1

lsblk 命令默认情况下将以 「 树状 」 列出所有块设备。在终端输入以下命令:1$ lsblk

输出结果如下:1

2

3

4

5

6

7

8

9

10

11

12

13

14NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 557.9G 0 disk

├─sda1 8:1 0 1M 0 part

├─sda2 8:2 0 500M 0 part /boot

├─sda3 8:3 0 299.4G 0 part

├─sda4 8:4 0 1K 0 part

├─sda5 8:5 0 97.7G 0 part /

├─sda6 8:6 0 97.7G 0 part /var/log

├─sda7 8:7 0 62.5G 0 part [SWAP]

└─sda8 8:8 0 196M 0 part /boot/efi

sdb 8:16 0 200G 0 disk

├─sdb1 8:17 0 150G 0 part /var/lib/cache

└─sdb2 8:18 0 50G 0 part

7 个列的名称解释如下:NAME : 块设备名称。

MAJ:MIN : 显示主要和次要设备号。

RM : 显示设备是否可移动设备。 RM 值为 1, 表示为可移动设备。

SIZE : 列出设备的容量大小信息。

RO : 表明设备是否为只读。 RO 值为 0, 表示只读。

TYPE : 显示块设备是否是磁盘或磁盘上的一个分区。 disk 表示磁盘,part 表示分区,rom 表示只读存储器。

MOUNTPOINT : 显示设备挂载的挂载点。

为了更直观的定制列、格式化输出展示信息,可以使用如下参数格式化输出:-o : output columns,定制列

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

-l : use list format output

-p : print complate device path

-P : use key=”value” output format

可定制的列名称为:NAME : device name

MOUNTPOINT : where the device is mounted

UUID : filesystem UUID

PARTUUID : partition UUID

SIZE : size of the device

TYPE : device type

STATE : state of the device

ROTA : rotational device, 可旋转磁盘标志位,可用于区分 HDD 盘和 SSD 盘: 0 - 不可旋转,SSD; 1 - 可旋转,HDD

如,以键值对的形式列出 /dev/sdb 盘的名称,大小,挂载点,类型,ROTA 位,分区 UUID,文件系统 UUID:1lsblk /dev/sdb -b -p -P -o NAME,SIZE,MOUNTPOINT,TYPE,ROTA,UUID,PARTUUID

输出结果如下:1

2

3

4[[email protected] ~]# lsblk /dev/sdb -b -p -P -o NAME,SIZE,MOUNTPOINT,TYPE,ROTA,UUID,PARTUUID

NAME="/dev/sdb" SIZE="214748364800" MOUNTPOINT="" TYPE="disk" ROTA="1" UUID="" PARTUUID=""

NAME="/dev/sdb1" SIZE="161061273600" MOUNTPOINT="" TYPE="part" ROTA="1" UUID="0a3407de-014b-458b-b5c1-848e92a327a3" PARTUUID="b411dc99-f0a0-4c87-9e05-184977be8539"

NAME="/dev/sdb2" SIZE="53687091200" MOUNTPOINT="" TYPE="part" ROTA="1" UUID="" PARTUUID="f9fe0b69-a280-415d-a03a-a32752370dee"

Disk UUID、PARTUUID 解释

SSD、HDD 的 Linux 判断方法

除 lsblk 命令的 ROTA 属性值可以作为 HDD 盘和 SSD 盘的判断方式( 1 - HDD, 0 - SSD) 外,还可以使用如下命令来判断:1$ cat /sys/block/xxxx/queue/rotational

如果返回值为:1,则表示为 HDD 盘;如果返回值为:0,则表示为 SSD 盘。其他方法可参看:参考资料 4:Linux下判断磁盘是SSD还是HDD的几种方法

将 HDD 盘模拟为 SSD 盘

可以通过如下命令,将 HDD 盘模拟为非旋转块设备(SSD):1echo 0 > /sys/block/xxxx/queue/rotational # 其中,xxxx 表示磁盘名称,如 sdb.

模拟插拔盘动作

Linux 下可以使用如下命令模拟插拔盘动作,但应注意与实际物理插拔盘仍可能不太一样。

拔盘:1echo 1 > /sys/block/xxxx/device/delete # 其中,xxxx 表示磁盘名称,如 sdb.

插盘:1

2echo " - - - " > /sys/class/scsi_host/host0/scan

# 其中,host0 中的数字 「 0 」 表示:使用 lsscsi 命令查看的 xxxx 盘第一列 [0:0:0:1] 中的第一个数字

blkid 命令

blkid 命令可以显示关于可用块设备的信息,如:设备名称、UUID(文件系统唯一标示符)、Type(文件系统类型)、PARTLABEL、PARTUUID 等信息。

列出所有可用块设备的信息

在终端输入以下命令,列出所有可用块设备的信息:1blkid

输出结果如下:1

2

3

4

5/dev/sda2: UUID="0733f5c1-cb85-4f98-9d4f-122cfcee9806" TYPE="ext4"

/dev/sda3: UUID="41a18221-6b1f-4ca2-9bc3-dc353c87d932" TYPE="ext4"

/dev/sda4: UUID="57183ff9-d4a5-4623-a47f-f8f17339be03" TYPE="swap"

/dev/sdb1: UUID="0a3407de-014b-458b-b5c1-848e92a327a3" PARTUUID="b411dc99-f0a0-4c87-9e05-184977be8539" TYPE="xfs"

/dev/sdb2: UUID="6bdf487f-cad7-4197-b0d9-4ddc6df1de2d" PARTUUID="f9fe0b69-a280-415d-a03a-a32752370dee" TYPE="xfs"

列出指定块设备的信息

在终端输入以下命令,列出指定块设备的信息:1blkid /dev/sdb1

输出结果如下:1/dev/sdb1: UUID="0a3407de-014b-458b-b5c1-848e92a327a3" PARTUUID="b411dc99-f0a0-4c87-9e05-184977be8539" TYPE="xfs"

可用参数及格式化输出

列出几个 blkid 命令支持的可用参数:-o : output format; can be one of: value, device, export or full; (default: full)

-s : show specified tag(s) (default show all tags)

-t : find device with a specified token (NAME=value pair)

-L : convert LABEL to device name

-U : convert UUID to device name

1/ 使用 -o 参数格式化输出 sdb1 的块设备信息:1blkid -o value /dev/sdb1

输出结果如下:1

2

30a3407de-014b-458b-b5c1-848e92a327a3

xfs

b411dc99-f0a0-4c87-9e05-184977be8539

2/ 使用 -o 参数格式化输出 sdb1 的块设备信息:1blkid -o export /dev/sdb1

输出结果如下:1

2

3

4DEVNAME=/dev/sdb1

UUID=0a3407de-014b-458b-b5c1-848e92a327a3

TYPE=xfs

PARTUUID=b411dc99-f0a0-4c87-9e05-184977be8539

sgdisk 命令

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值