使用 lsblk 和 lshw 列出块设备
在本步骤中,你将学习如何识别和列出连接到你系统的块设备。块设备是存储设备,它们以固定大小的块传输数据,例如硬盘驱动器、固态硬盘和 USB 闪存驱动器。我们将为此目的使用两个常用命令:lsblk
和 lshw
。
首先,让我们使用 lsblk
命令来获取系统上所有可用块设备的树状视图。此命令读取 sysfs
文件系统和 udev
数据库来收集信息。
在你的终端中执行 lsblk
命令:
lsblk
你将看到类似以下的输出,列出了设备及其包含的任何分区。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 89.4M 1 loop /snap/lxd/31333
loop1 7:1 0 4K 1 loop /snap/bare/5
loop2 7:2 0 63.9M 1 loop /snap/core20/2318
loop3 7:3 0 242.9M 1 loop /snap/firefox/2710
loop4 7:4 0 244.5M 1 loop /snap/firefox/2800
loop5 7:5 0 349.7M 1 loop /snap/gnome-3-38-2004/140
loop6 7:6 0 349.7M 1 loop /snap/gnome-3-38-2004/143
loop7 7:7 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop9 7:9 0 87M 1 loop /snap/lxd/28373
loop10 7:10 0 73.9M 1 loop /snap/core22/2010
loop11 7:11 0 38.8M 1 loop /snap/snapd/21759
loop12 7:12 0 50.9M 1 loop /snap/snapd/24718
loop13 7:13 0 63.8M 1 loop /snap/core20/2599
vda 252:0 0 40G 0 disk
├─vda1 252:1 0 1M 0 part
├─vda2 252:2 0 200M 0 part /boot/efi
└─vda3 252:3 0 39.8G 0 part /var/snap/firefox/common/host-hunspell
/
以下是各列的简要说明:
NAME
: 设备名称。
MAJ:MIN
: 主次设备号,内核用于标识设备。
RM
: 可移动设备(1 表示是,0 表示否)。
SIZE
: 设备大小。
RO
: 只读设备(1 表示是,0 表示否)。
TYPE
: 设备类型(例如,disk, part, loop)。
MOUNTPOINTS
: 设备在文件系统中挂载的位置。
虽然 lsblk
非常适合快速概览,但 lshw
(list hardware) 命令可以提供更详细的信息。lshw
命令可能默认未安装。让我们先安装它。
sudo apt-get update && sudo apt-get install -y lshw
安装完成后,你可以使用 lshw
来获取特定硬件类别的详细信息。例如,要查看存储控制器(如你的 SATA 或 NVMe 控制器)的详细信息,你可以使用 -class storage
选项。
sudo lshw -class storage
输出将显示有关存储接口本身的信息。
*-pnp00:03
product: PnP device PNP0700
physical id: 3
capabilities: pnp
*-ide
description: IDE interface
product: 82371SB PIIX3 IDE [Natoma/Triton II]
vendor: Intel Corporation
physical id: 1.1
bus info: pci@0000:00:01.1
version: 00
width: 32 bits
clock: 33MHz
capabilities: ide isa_compat_mode bus_master
configuration: driver=ata_piix latency=0
resources: irq:0 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:c060(size=16)
*-scsi
description: SCSI storage controller
product: Virtio block device
vendor: Red Hat, Inc.
physical id: 4
bus info: pci@0000:00:04.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: scsi msix bus_master cap_list
configuration: driver=virtio-pci latency=0
resources: irq:0 memory:fe000000-fe000fff memory:fe001000-fe001fff
要获取有关分区和逻辑卷的更详细信息,这些信息与 lsblk
相当但更详细,请使用 -class volume
选项。
sudo lshw -class volume
此命令提供大量信息,包括每个分区的逻辑名称、序列号和功能。
*-volume:0
description: BIOS Boot partition
vendor: EFI
physical id: 1
bus info: scsi@0:0.0.0,1
logical name: /dev/vda1
serial: xxxx-xxxx
size: 1MiB
capacity: 1MiB
capabilities: primary
*-volume:1
description: EFI partition
vendor: EFI
physical id: 2
bus info: scsi@0:0.0.0,2
logical name: /dev/vda2
serial: XXXX-XXXX
size: 200MiB
capacity: 200MiB
capabilities: boot fat initialized
configuration: FATs=32 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro state=mounted
*-volume:2
description: Linux filesystem
physical id: 3
bus info: scsi@0:0.0.0,3
logical name: /dev/vda3
size: 39GiB
capacity: 39GiB
capabilities: primary ext4 initialized
configuration: filesystem=ext4 lastmountpoint=/ modified=2024-xx-xx mounted=2024-xx-xx state=mounted
通过使用 lsblk
和 lshw
,你可以获得对 Linux 系统上存储设备的宏观和详细的低级视图。