如何在Linux中查看磁盘分区 Linux lsblk命令详细解读
发布时间 - 2025-09-07 00:00:00 点击率:次答案:lsblk命令以树状结构直观展示磁盘分区信息,支持多种输出定制选项,比fdisk -l更易读且无需root权限。
直接回答:Linux中使用
lsblk命令可以查看磁盘分区信息,它比
fdisk -l更友好,更易读。
解决方案:
lsblk命令是一个强大的Linux工具,用于列出块设备的信息。它以树状结构展示磁盘分区、挂载点以及其他相关属性,使得理解存储布局变得更加直观。
如何使用lsblk命令查看磁盘分区?
最基础的用法是直接在终端输入
lsblk。这将显示系统中所有可用的块设备,包括硬盘、分区、光驱等等。输出结果会包含设备名称(NAME)、主次设备号(MAJ:MIN)、大小(SIZE)、只读属性(RO)、类型(TYPE)以及挂载点(MOUNTPOINT)。
例如:
lsblk
输出可能如下:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 231.4G 0 part
└─vg0-root
253:0 0 200G 0 lvm /
└─vg0-swap_1
253:1 0 15.7G 0 lvm [SWAP]
sdb 8:16 0 1.8T 0 disk
└─sdb1 8:17 0 1.8T 0 part /data从上面的例子可以看出,
sda是一个232.9GB的磁盘,它有三个分区:
sda1、
sda2和
sda3。其中,
sda1挂载到
/boot/efi,
sda2挂载到
/boot。
sda3是一个LVM逻辑卷,又划分成了
vg0-root(挂载到
/)和
vg0-swap_1(作为swap空间)。
sdb是另一个1.8TB的磁盘,有一个分区
sdb1挂载到
/data。
lsblk命令有哪些常用选项?
lsblk命令有很多选项,可以用来定制输出结果。
-a
或--all
:显示所有块设备,包括空的。默认情况下,lsblk
会忽略空的块设备。-b
或--bytes
:以字节为单位显示大小。默认情况下,大小会以更易读的单位(如K、M、G)显示。-d
或--nodeps
:不显示依赖关系,只显示指定的块设备。-f
或--fs
:显示文件系统信息,如文件系统类型(FSTYPE)和UUID。-i
或--ascii
:使用ASCII字符代替默认的图形字符,方便在不支持图形字符的终端上显示。-l
或--list
:以列表格式显示,而不是树状结构。-m
或--perms
:显示权限信息。-n
或--noheadings
:不显示标题行。-o
或--output
:指定要显示的列。例如,lsblk -o NAME,SIZE,MOUNTPOINT
只显示设备名称、大小和挂载点。-p
或--paths
:显示完整的设备路径,而不是简短的设备名称。-r
或--raw
:以原始格式显示,方便脚本解析。-t
或--topology
:显示拓扑信息。-v
或--version
:显示版本信息。
例如,要显示所有块设备的文件系统信息,可以使用以下命令:
lsblk -f
要以列表格式显示磁盘分区的大小和挂载点,可以使用以下命令:
lsblk -l -o NAME,SIZE,MOUNTPOINT
如何使用lsblk命令过滤特定类型的设备?
有时候,我们只想查看特定类型的设备,比如只查看磁盘或只查看分区。虽然
lsblk本身没有直接过滤设备类型的选项,但可以结合
grep命令来实现。
例如,要只查看磁盘,可以使用以下命令:
lsblk | grep disk
要只查看分区,可以使用以下命令:
lsblk | grep part
这些命令会将
lsblk的输出结果传递给
grep命令,然后
grep命令会过滤包含"disk"或"part"的行。
更精确的过滤可以使用
awk命令,根据TYPE列进行过滤。例如,只显示TYPE为disk的设备:
lsblk | awk '$7 == "disk" {print}'这里
$7表示
lsblk输出的第七列(TYPE列)。
lsblk命令与fdisk -l命令有什么区别?
fdisk -l命令也可以用来查看磁盘分区信息,但它输出的信息比较冗长,不易读。
lsblk命令的输出更简洁、更易读,而且它以树状结构展示磁盘分区,使得理解存储布局变得更加直观。
此外,
fdisk -l命令需要root权限才能运行,而
lsblk命令普通用户也可以运行。
总的来说,
lsblk命令是查看磁盘分区信息的更方便、更强大的工具。
lsblk命令输出中的MOUNTPOINT列为空,可能是什么原因?
如果
lsblk命令输出中某个分区的
MOUNTPOINT列为空,说明该分区没有被挂载到文件系统的任何目录上。这可能是因为:
- 分区尚未格式化: 如果分区是新创建的,还没有格式化成任何文件系统(如ext4、xfs等),那么它就无法被挂载。
-
分区未配置自动挂载: 即使分区已经格式化,但如果没有在
/etc/fstab
文件中配置自动挂载,那么系统启动时就不会自动挂载该分区。 - 手动卸载: 分区可能之前已经被挂载,但后来被手动卸载了。
要解决这个问题,首先要确保分区已经格式化成适当的文件系统。可以使用
mkfs命令来格式化分区。例如,要将
/dev/sdb1格式化成ext4文件系统,可以使用以下命令:
sudo mkfs.ext4 /dev/sdb1
然后,可以在
/etc/fstab文件中配置自动挂载。编辑
/etc/fstab文件,添加一行类似于下面的内容:
/dev/sdb1 /data ext4 defaults 0 2
其中,
/dev/sdb1是要挂载的分区,
/data是挂载点,
ext4是文件系统类型,
defaults是挂载选项,
0和
2是dump和fsck的选项。
修改
/etc/fstab文件后,可以使用
mount -a命令来重新挂载所有在
/etc/fstab文件中配置的分区。
sudo mount -a
完成这些步骤后,再次运行
lsblk命令,应该就能看到该分区的
MOUNTPOINT列显示正确的挂载点了。
如何使用lsblk命令查找特定UUID对应的磁盘或分区?
有时候我们需要根据UUID来查找对应的磁盘或分区,
lsblk命令本身没有直接支持按UUID查找的选项,但可以结合
blkid命令和
grep命令来实现。
首先,使用
blkid命令获取所有块设备的UUID信息。
sudo blkid
输出可能如下:
/dev/sda1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" BLOCK_SIZE="4096" TYPE="vfat" PARTUUID="yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" /dev/sda2: UUID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" /dev/sdb1: UUID="bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="cccccccc-cccc-cccc-cccc-cccccccccccc"
然后,使用
grep命令过滤包含特定UUID的行。例如,要查找UUID为"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"的设备,可以使用以下命令:
sudo blkid | grep "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
输出会显示包含该UUID的行,从中可以得知对应的设备名称(如
/dev/sdb1)。
有了设备名称后,就可以使用
lsblk命令来查看该设备的详细信息了。
lsblk /dev/sdb1
这种方法虽然稍微繁琐,但可以有效地根据UUID查找对应的磁盘或分区。
# linux
# node
# 硬盘
# 工具
# 区别
# linux工具
# yy
# ASCII
# 可以使用
# 文件系统
# 是一个
# 树状
# 易读
# 只显示
# 如何使用
# 来实现
# 变得更加
# 它以
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
在线制作视频网站免费,都有哪些好的动漫网站?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
jQuery validate插件功能与用法详解
Android使用GridView实现日历的简单功能
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
如何在IIS中新建站点并配置端口与IP地址?
如何快速搭建个人网站并优化SEO?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
如何快速搭建高效简练网站?
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
网站制作企业,网站的banner和导航栏是指什么?
如何快速搭建支持数据库操作的智能建站平台?
在centOS 7安装mysql 5.7的详细教程
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Android 常见的图片加载框架详细介绍
JavaScript模板引擎Template.js使用详解
进行网站优化必须要坚持的四大原则
Laravel如何实现数据库事务?(DB Facade示例)
Laravel如何配置和使用缓存?(Redis代码示例)
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel如何使用查询构建器?(Query Builder高级用法)
Laravel如何优化应用性能?(缓存和优化命令)
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel distinct去重查询_Laravel Eloquent去重方法
如何用wdcp快速搭建高效网站?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
如何在云主机快速搭建网站站点?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
如何快速使用云服务器搭建个人网站?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Python并发异常传播_错误处理解析【教程】
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
JavaScript如何实现类型判断_typeof和instanceof有什么区别
香港网站服务器数量如何影响SEO优化效果?


bbbbbbbbbbb" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="cccccccc-cccc-cccc-cccc-cccccccccccc"