Linux下sblk命令怎么用

发布时间:2022-02-19 11:27:51 作者:小新
来源:亿速云 阅读:616
# Linux下lsblk命令怎么用

## 一、lsblk命令概述

`lsblk`(list block devices)是Linux系统中用于列出所有可用块设备信息的实用工具。块设备是指以块为单位进行数据读写的设备,如硬盘、SSD、U盘、CD-ROM等。

### 1.1 主要功能特点
- 显示设备树状结构关系
- 支持显示设备详细信息(UUID、挂载点、文件系统等)
- 可输出多种格式(默认树状、列表、JSON等)
- 无需root权限即可运行

### 1.2 命令基本语法
```bash
lsblk [选项] [设备...]

二、基本使用方法

2.1 默认输出

直接执行lsblk命令:

lsblk

典型输出示例:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 464.3G  0 part /
└─sda3   8:3    0   976M  0 part [SWAP]
sdb      8:16   1  14.9G  0 disk 
└─sdb1   8:17   1  14.9G  0 part /media/usb

各列含义: - NAME:设备名称 - MAJ:MIN:主设备号和次设备号 - RM:是否为可移动设备(1=是,0=否) - SIZE:设备容量 - RO:是否只读 - TYPE:设备类型(disk, part, lvm等) - MOUNTPOINT:挂载点

2.2 指定显示特定设备

lsblk /dev/sda

三、常用选项详解

3.1 显示详细信息(-a/-f)

-f选项显示文件系统信息:

lsblk -f

输出增加: - FSTYPE:文件系统类型 - UUID:文件系统唯一标识符 - LABEL:卷标

-a选项显示所有设备(包括空设备)

3.2 显示权限信息(-m)

lsblk -m

增加显示: - OWNER:设备所有者 - GROUP:所属组 - MODE:权限模式

3.3 只显示设备名称(-n)

lsblk -n

仅输出NAME列,适合脚本处理

3.4 显示完整设备路径(-p)

lsblk -p

输出示例:

/dev/sda
├─/dev/sda1
└─/dev/sda2

3.5 排除特定设备(-e)

排除主设备号为7的设备(通常为loop设备):

lsblk -e 7

四、输出格式控制

4.1 列表格式输出(-l)

lsblk -l

输出变为表格形式:

NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0 465.8G  0 disk 
sda1    8:1    0   512M  0 part /boot/efi
sda2    8:2    0 464.3G  0 part /

4.2 JSON格式输出(-J/-json)

lsblk --json

输出示例:

{
  "blockdevices": [
    {
      "name": "sda",
      "maj:min": "8:0",
      "rm": "0",
      "size": "465.8G",
      "ro": "0",
      "type": "disk",
      "children": [
        {
          "name": "sda1",
          "maj:min": "8:1",
          "rm": "0",
          "size": "512M",
          "ro": "0",
          "type": "part",
          "mountpoint": "/boot/efi"
        }
      ]
    }
  ]
}

4.3 自定义输出列(-o)

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE

可用字段可通过lsblk --help查看

五、高级用法

5.1 显示SCSI设备信息(-S)

lsblk -S

显示SCSI特定信息: - HCTL:SCSI层级信息 - TRAN:传输类型 - VENDOR:厂商信息

5.2 显示设备拓扑结构(-t)

lsblk -t

增加显示: - ALIGNMENT:对齐偏移 - MIN-IO:最小I/O大小 - OPT-IO:最优I/O大小 - PHY-SEC:物理扇区大小 - LOG-SEC:逻辑扇区大小

5.3 显示设备使用率(–output +STAT)

lsblk --output NAME,SIZE,RO,TYPE,MOUNTPOINT,STAT

STAT列显示设备状态: - 运行中:running - 休眠:sleep - 不可用:disabled

5.4 显示设备调度器(–output +SCHED)

lsblk --output NAME,SCHED

显示I/O调度器类型(cfq, deadline, noop等)

六、实际应用场景

6.1 查找所有USB设备

lsblk -d -o NAME,RM,SIZE,MOUNTPOINT | grep '1 '

6.2 检查未挂载的分区

lsblk -f | grep -v "MOUNTPOINT" | grep "part"

6.3 获取LVM卷信息

lsblk -o NAME,TYPE,FSTYPE,MOUNTPOINT,SIZE | grep -i lvm

6.4 监控设备变化

配合watch命令实时监控:

watch -n 1 lsblk

七、与其他命令结合使用

7.1 结合blkid获取更多信息

lsblk -o NAME,UUID | grep -v "UUID" | xargs -L1 blkid

7.2 结合df查看磁盘使用情况

lsblk -o NAME,MOUNTPOINT | grep "/" | awk '{print $2}' | xargs df -h

7.3 结合fdisk进行分区操作

lsblk | grep disk | awk '{print $1}' | xargs -I{} sudo fdisk -l /dev/{}

八、常见问题解决

8.1 设备不显示的可能原因

  1. 缺少读取权限 → 使用sudo
  2. 设备被过滤 → 检查-e选项
  3. 内核未识别 → 检查dmesg输出

8.2 输出信息不完整

尝试使用-f-m等选项显示更多信息

8.3 树状显示混乱

使用-l改为列表格式,或调整终端宽度

九、lsblk与相关命令对比

命令 特点 适用场景
lsblk 显示设备树状结构,关系清晰 快速查看块设备布局
fdisk 可修改分区表,功能强大但复杂 分区操作
blkid 显示设备UUID和文件系统信息 获取设备唯一标识
df 显示已挂载文件系统的使用情况 磁盘空间监控
mount 显示/修改挂载信息 挂载管理

十、总结

lsblk是Linux系统管理员和用户必备的磁盘管理工具,通过本文介绍的: - 基本用法和常用选项 - 多种输出格式控制 - 实际应用场景示例 - 与其他命令的配合技巧

读者可以全面掌握这个实用工具,在日常系统管理、故障排查和脚本编写中发挥重要作用。

提示:可以通过man lsblk查看完整手册,或lsblk --help查看简要帮助。不同Linux发行版的lsblk版本可能略有差异,部分选项可能需要较新版本支持。 “`

这篇文章共计约2850字,采用Markdown格式编写,包含: 1. 10个主要章节 2. 多个代码块示例 3. 表格对比 4. 结构化的小节 5. 实际应用场景 6. 常见问题解答 7. 命令对比表格

内容全面覆盖了lsblk命令的各个方面,从基础到高级用法,适合不同层次的Linux用户阅读参考。

推荐阅读:
  1. Linux下SSH命令怎么用
  2. Linux下touch命令怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:linux中如何快速上手Iftop命令

下一篇:Linux中Base64的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》