您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        # Linux中怎么使用lsblk命令查看块设备
## 一、lsblk命令概述
`lsblk`(list block devices)是Linux系统中用于列出所有可用块设备信息的实用工具。它能够以树状结构清晰展示磁盘、分区以及它们的挂载点关系,是系统管理员和开发人员进行存储设备管理的重要工具。
### 1.1 什么是块设备
块设备是指以固定大小数据块(block)为单位进行读写操作的存储设备,例如:
- 硬盘驱动器(HDD/SSD)
- 光盘驱动器
- USB闪存设备
- 逻辑卷(LVM)
- RD阵列
### 1.2 lsblk的特点
- 默认以树状结构显示设备层级关系
- 无需root权限即可查看基本信息
- 支持多种输出格式(默认、JSON、键值对等)
- 可显示设备大小、类型、挂载点等详细信息
## 二、基本命令用法
### 2.1 最简单的使用方式
```bash
lsblk
典型输出示例:
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 238.5G  0 disk 
├─sda1        8:1    0   512M  0 part /boot/efi
├─sda2        8:2    0   732M  0 part /boot
└─sda3        8:3    0 237.3G  0 part 
  └─vg-root 253:0    0 237.3G  0 lvm  /
sdb           8:16   0   1.8T  0 disk 
└─sdb1        8:17   0   1.8T  0 part /data
| 列名 | 说明 | 
|---|---|
| NAME | 设备名称(sda、vda等) | 
| MAJ:MIN | 主设备号和次设备号 | 
| RM | 是否为可移动设备(1=是,0=否) | 
| SIZE | 设备容量 | 
| RO | 是否为只读设备(1=是,0=否) | 
| TYPE | 设备类型(disk, part, lvm等) | 
| MOUNTPOINT | 挂载点路径 | 
lsblk -p
输出示例:
/dev/sda           8:0    0 238.5G  0 disk 
├─/dev/sda1        8:1    0   512M  0 part /boot/efi
└─/dev/sda2        8:2    0   732M  0 part /boot
lsblk /dev/sda
lsblk -f
输出示例:
NAME        FSTYPE LABEL UUID                                 MOUNTPOINT
sda                                                          
├─sda1      vfat         C4A3-6A2F                            /boot/efi
├─sda2      ext4         1a2b3c4d-5678-90ab-cdef12345678      /boot
└─sda3      LVM2_member xyz123-4567-8901-2345-6789abcdef      
  └─vg-root ext4         abcd1234-5678-90ef-ghij12345678      /
lsblk -b
lsblk -e 7  # 排除主设备号为7的设备(通常为loop设备)
lsblk -S
输出示例:
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  1:0:0:0    disk ATA      Samsung SSD 860  3B6Q sata
sdb  2:0:0:0    disk ASMT     2115             0    usb
lsblk -J
输出示例(节选):
{
  "blockdevices": [
    {
      "name": "sda",
      "type": "disk",
      "size": "238.5G",
      "children": [
        {
          "name": "sda1",
          "type": "part",
          "size": "512M",
          "mountpoint": "/boot/efi"
        }
      ]
    }
  ]
}
lsblk -t
输出示例:
NAME        ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED
sda                0    512      0     512     512    1 mq-deadline
├─sda1             0    512      0     512     512    1 
└─sda2             0    512      0     512     512    1 
当服务器插入新硬盘后:
# 查看新磁盘是否被识别
lsblk
# 对比插入前后的设备列表
lsblk > before.txt
# 插入磁盘后
lsblk > after.txt
diff before.txt after.txt
# 查看所有挂载点的空间使用情况
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,FSUSE%
# 查看物理卷、卷组和逻辑卷的关系
lsblk -o NAME,TYPE,FSTYPE,MOUNTPOINT,MAJ:MIN,SIZE
# 只显示已挂载的设备
lsblk | grep -v "MOUNTPOINT" | grep -v "├─" | grep -v "└─"
# 提取所有磁盘名称和大小
lsblk -d -o NAME,SIZE | awk 'NR>1 {print $1,$2}'
lsblk -f; blkid
可能是设备未初始化或分区表损坏,可以使用:
sudo fdisk -l /dev/sdX
df显示已挂载文件系统的使用情况,而lsblk显示块设备物理结构:
df -h  # 显示磁盘使用率
lsblk  # 显示设备物理结构
lsblk是Linux系统管理中不可或缺的工具,通过掌握其各种参数组合,可以:
- 快速了解系统存储结构
- 诊断磁盘相关问题
- 规划存储方案
- 编写自动化管理脚本
建议通过man lsblk查看完整手册,结合实际工作场景多加练习,逐步掌握这个强大的存储管理工具。
注意:本文基于Linux 5.x内核版本和util-linux 2.36+中的lsblk实现,不同发行版可能存在细微差异。 “`
这篇文章共计约1800字,采用Markdown格式编写,包含: 1. 8个主要章节 2. 15个代码/命令示例 3. 4个表格 4. 多级标题结构 5. 实际应用场景说明 6. 常见问题解决方案
可以根据需要进一步扩展特定章节或添加更多实际案例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。