如何在linux上查看硬盘信息? (linux查硬盘信息)

如何在Linux上查看硬盘信息?

对于需要管理或者维护系统硬盘的Linux用户来说,了解硬盘的基本信息是非常有必要的。无论是分析分区使用情况,还是检查硬盘健康状态,都需要借助一些命令和工具来完成。本文将介绍如何在Linux平台上查看硬盘的基本信息,包括硬盘容量、分区结构、健康状态等内容。

一、fdisk命令

fdisk是Linux上常用的一款命令行磁盘分区工具,不仅可以用来创建、删除、修改硬盘分区,还可以用来查看硬盘的分区信息。使用fdisk命令需要root权限,下面是一些常见的用法:

1. 查看硬盘基本信息

要查看当前系统中硬盘的基本信息,可以使用fdisk命令加-l选项:

“`bash

sudo fdisk -l

“`

这个命令会列出已经连接到电脑上的所有硬盘信息,包括硬盘分区、容量、文件系统类型等等。比如下面的输出表示系统中只有/dev/sda这一个硬盘,它有一个分区/dev/sda1,分区有一个扩展分区和一个逻辑分区。

“`bash

Disk /dev/sda: 931.53 GiB, 1000202386016 bytes, 1953525168 sectors

Disk model: ST1000NM0055-1V5

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: dos

Disk identifier: 0x3f3ccedf

Device Boot Start End Sectors Size Id Type

/dev/sda1 * 2023 1953523711 1953521664 931.5G 83 Linux

“`

从上面的输出可以看出/dev/sda是一块容量为931.53 GB的硬盘,它的分区表采用的是dos格式,有一个编号为1的扩展分区,里面包含了一个编号为5的逻辑分区。逻辑分区是由扩展分区通过分区链表方式实现的,一个扩展分区中可以包含多个逻辑分区。 /dev/sda1是挂载在/文件系统上的主分区。

2. 查看磁盘分区表信息

如果只需要查看某一块硬盘的分区表,可以使用fdisk命令加硬盘设备文件(比如/dev/sda)作为参数:

“`bash

sudo fdisk /dev/sda

“`

这个命令会进入交互式分区工具的界面,我们可以使用“p”命令来打印分区信息。比如:

“`bash

Command (m for help): p

Disk /dev/sda: 931.53 GiB, 1000202386016 bytes, 1953525168 sectors

Disk model: ST1000NM0055-1V5

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: dos

Disk identifier: 0x3f3ccedf

Device Boot Start End Sectors Size Id Type

/dev/sda1 * 2023 1953523711 1953521664 931.5G 83 Linux

“`

这可以得到类似之前带有详细硬盘分区表的输出结果。

3. 查看磁盘健康状态

当硬盘出现问题时,需要及时检查硬盘状态以确定是否需要更换硬盘。Linux下可以使用artctl命令来检查硬盘的健康状态。在artctl中,“S.M.A.R.T.”代表的是“Self-Monitoring, Analysis, and Reporting Technology”,通过这个技术可以获取当前硬盘的健康状态。

向artctl传递硬盘设备文件作为参数即可,比如:

“`bash

sudo artctl -H /dev/sda

“`

这个命令会输出硬盘的健康状态,比如:

“`bash

artctl 6.5 2023-01-24 r4214 [x86_64-linux-5.11.0-36-generic] (local build)

Copyright (C) 2023-16, Bruce Allen, Christian Franke, www.artmontools.org

=== START OF READ ART DATA SECTION ===

ART overall-health self-assesent test result: PASSED

“`

从上面的输出可以看出,硬盘的ART检测结果是“PASSED”,说明硬盘运行正常。当然,还有很多其他的参数可以通过artctl来查看,比如硬盘温度、运行时间等等,大家可以自行尝试。

二、llk命令

llk是一个比较全面的,用于显示磁盘相关信息的命令。它可以显示分区、其容量、已使用情况、挂载点和分区格式等信息。使用llk命令可以方便地查看硬盘和分区的情况。

“`bash

sudo llk -a

“`

a选项将显示所有块设备,包括裸设备(未分区的块设备),下面是其中一些默认的输出:

“`bash

sda 8:0 0 931.5G 0 disk

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

sr0 11:0 1 1024M 0 rom

“`

从上面的输出中,我们可以看到:

– **sda** 是目标磁盘,没有分区

– **sda1** 是实际的分区,挂载在根目录下

– **sr0** 是一个只读光盘设备

三、df命令

df命令可以查看Linux系统中所有挂载点及其使用情况。所以,df命令可以用来获取硬盘当前的空间占用情况,通常使用如下命令:

“`bash

sudo df -h

“`

-h 选项将以可读性更好的单位打印输出。

下面是df命令的默认输出:

“`bash

Filesystem Size Used Avl Use% Mounted on

udev 2.9G 0 2.9G 0% /dev

tmpfs 589M 1.6M 587M 1% /run

/dev/sda1 920G 126G 748G 15% /

tmpfs 2.9G 20K 2.9G 1% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup

/dev/sda2 1.5G 316M 1.1G 23% /boot

tmpfs 589M 0 589M 0% /run/user/1000

“`

从上面的输出可以看出,系统中有多个挂载点,包括:

– **/dev/sda1** 是根目录,使用15%的磁盘空间

– **/dev/sda2** 是引导分区,使用23%的磁盘空间

四、dstat命令

dstat是一个跨平台的系统监控工具,它可以在Linux系统中查看硬盘的IO(输入/输出)情况。使用dstat需要在系统上安装它,可以使用包管理器(比如apt、yum)来安装它。

“`bash

sudo dstat -d 5

“`

上述命令将在5秒钟内显示磁盘的IO信息。

下面是一些默认的输出结果:

“`bash

—-dsk/dm-0—- -dsk/dm-1- -dsk/dm-2- -dsk/dm-3- —system—

read writ|read writ|read writ|read writ| in out[interrupts]

63 116 | 0 0 | 54 450 | 10 470 | 2 21 63 58 | 2 2 0 0

7488 400332| 0 0 | 45 7343k| 17 7433k| 6 43 169 111 | 18 8 0 0

1792 24k| 0 0 | 0 0 | 0 0 | 0 0 76 32 | 2 2 0 0

3584 0 | 0 0 | 0 0 | 0 0 | 0 16 0 19 | 2 2 0 0

384 768| 0 0 | 42 203 | 0 0 | 0 0 99 111 | 2 2 0 0

“`

从上面的输出可以看到,每个“dsk/dm-”类型的列代表一个块设备,通常是硬盘或硬盘分区。默认情况下,dstat会显示这些块设备的读写速度。如果读写速度过高,那么这表明系统可能受到了IO瓶颈的影响,需要更进一步的检查和优化。

Linux系统提供了很多命令和工具来查看硬盘信息。本文介绍了一些常用的命令,包括fdisk、llk、df和dstat。这些命令可以查看硬盘容量、分区结构、健康状态和IO参数等信息。了解这些命令和工具有助于Linux用户更好地管理和维护系统硬盘。


数据运维技术 » 如何在linux上查看硬盘信息? (linux查硬盘信息)