您的位置:

深度解析lsblk命令

一、lsblk命令简介

lsblk是一个用于列出块设备信息的命令行工具,它能够以清晰易读的方式显示出系统中所有的磁盘和分区信息。lsblk支持以树形结构进行输出,可以显示出磁盘分区的层次关系,以及每个分区的大小、挂载点、磁盘类型等等。lsblk命令在Linux系统的管理和维护过程中是非常有用的。

二、lsblk命令的使用

1. 显示磁盘和分区信息

打开终端并输入以下命令即可显示所有磁盘和分区的信息:

$ lsblk

输出结果类似于下面这样:

NAME                     MAJ:MIN RM  SIZE    RO   TYPE    MOUNTPOINT
sda                      8:0     0   465.8G  0    disk    
├─sda1                   8:1     0   243.2M  0    part    /boot
├─sda2                   8:2     0   1K      0    part    
└─sda5                   8:5     0   465.6G  0    part    
  ├─ubuntu--vg-root     252:0   0   456.1G  0    lvm     /
  └─ubuntu--vg-swap_1   252:1   0   9.5G    0    lvm     [SWAP]
sdb                      8:16    0   745.2G  0    disk    
├─sdb1                   8:17    0   200G    0    part    /mnt/windows
├─sdb2                   8:18    0   50G     0    part    /mnt/data
└─sdb3                   8:19    0   495.2G  0    part    /mnt/linux
sr0                      11:0    1   3.8G    0    rom     

在上面的例子中,可以看到系统中有两个磁盘:sda和sdb。其中,sda分为三个分区:sda1、sda2和sda5,sdb分为三个分区:sdb1、sdb2和sdb3。每个分区都有对应的挂载点,以及磁盘类型(disk或rom等)。

2. 以树形结构显示磁盘和分区信息

使用“lsblk -t”命令可以以树形结构的方式来显示磁盘和分区信息:

$ lsblk -t

输出结果类似于下面这样:

NAME                        MAJ:MIN RM  SIZE    RO   TYPE    MOUNTPOINT
sda                         8:0     0   465.8G  0    disk    
├─sda1                      8:1     0   243.2M  0    part    /boot
├─sda2                      8:2     0   1K      0    part    
└─sda5                      8:5     0   465.6G  0    part    
  ├─ubuntu--vg-root        252:0   0   456.1G  0    lvm     /
  └─ubuntu--vg-swap_1      252:1   0   9.5G    0    lvm     [SWAP]
sdb                         8:16    0   745.2G  0    disk    
├─sdb1                      8:17    0   200G    0    part    /mnt/windows
├─sdb2                      8:18    0   50G     0    part    /mnt/data
└─sdb3                      8:19    0   495.2G  0    part    /mnt/linux
sr0                         11:0    1   3.8G    0    rom     

通过树形展示,更清晰地看到每个分区所属磁盘的关系。这种方式特别适合于查看大量的分区信息。

3. 显示指定设备信息

使用“lsblk /dev/sdX”命令可以显示指定设备的信息,其中sdX是设备标识符。例如,要显示sda的信息,可以执行以下命令:

$ lsblk /dev/sda

输出结果类似于下面这样:

NAME                     MAJ:MIN RM  SIZE    RO   TYPE    MOUNTPOINT
sda                      8:0     0   465.8G  0    disk    
├─sda1                   8:1     0   243.2M  0    part    /boot
├─sda2                   8:2     0   1K      0    part    
└─sda5                   8:5     0   465.6G  0    part    
  ├─ubuntu--vg-root     252:0   0   456.1G  0    lvm     /
  └─ubuntu--vg-swap_1   252:1   0   9.5G    0    lvm     [SWAP]

这个命令只会显示指定设备的信息,非常适合于快速查看某个设备的分区情况。

三、lsblk命令的常见参数

除了上面介绍的基本参数外,lsblk还提供了很多其他参数,下面是一些常用的参数:

1. -a, --all

显示所有设备,包括未挂载的设备。

2. -f, --fs

显示文件系统类型。

3. -h, --human-readable

以易读的方式显示设备、分区容量。

4. -P, --pairs

以键值对的格式输出设备和分区信息。

5. -t, --tree

使用树形结构输出设备和分区信息。

4. -x, --exclude TYPE

排除指定类型的设备。

例如,如果想要排除rom类型的设备,可以执行以下命令:

$ lsblk -x rom

5. -o, --output LIST

以指定格式输出设备和分区信息。

例如,要只显示每个分区的名称和挂载点,可以执行以下命令:

$ lsblk -o NAME,MOUNTPOINT

输出结果类似于下面这样:

NAME   MOUNTPOINT
sda    
├─sda1 /boot
├─sda2    
└─sda5 
  ├─ubuntu--vg-root /
  └─ubuntu--vg-swap_1 [SWAP]
sdb    
├─sdb1 /mnt/windows
├─sdb2 /mnt/data
└─sdb3 /mnt/linux
sr0    

四、总结

lsblk是一个非常有用的命令行工具,它能够以清晰易读的方式显示出系统中所有的磁盘和分区信息。通过本文的介绍,相信大家已经对lsblk有了更深刻的理解,希望能对大家在Linux系统的管理和维护中提供一些帮助。