Ubuntu 查看磁盘空间与分区常用命令
1. 查看磁盘空间使用情况(已挂载文件系统)
df -h
- 作用:显示所有已挂载文件系统的磁盘空间使用情况(包括总容量、已用空间、剩余空间、使用率及挂载点)。
- 选项:
-h:以人类可读格式(如 GB、MB)显示。-T:显示文件系统类型(如 ext4、xfs)。-i:查看 inode 使用情况(而非磁盘空间)。
Ubuntu 系统下查看磁盘信息的常用命令包括 df -h 查看挂载文件系统空间,lsblk 列出块设备树状结构,sudo fdisk -l 查看分区表,du 统计目录占用,sudo blkid 获取 UUID 及文件系统类型。高级场景可使用 ncdu 交互式查看目录大小,iostat 监控 I/O 性能,smartctl 检查磁盘健康状态。lsblk 命令以树形展示存储设备层级,支持自定义输出列及显示文件系统信息,常用于确认设备挂载状态、获取 UUID 配置 fstab 或诊断存储连接问题。根据实际需求选择合适的命令进行磁盘管理与维护。
df -h
-h:以人类可读格式(如 GB、MB)显示。-T:显示文件系统类型(如 ext4、xfs)。-i:查看 inode 使用情况(而非磁盘空间)。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 1G 0 part /boot
└─sda3 8:3 0 464.3G 0 part /
sudo fdisk -l
sudo 权限。du -sh /path/to/directory
-s:仅显示总大小。-h:以人类可读格式显示。--max-depth=N:限制递归深度(如 --max-depth=1 仅显示一级子目录)。sudo blkid
sudo apt install ncdu
ncdu /path/to/directory
iostat -x 1
sudo smartctl -a /dev/sdX
df -h /sudo du -ah / | sort -rh | head -n 20lsblk 或 sudo fdisk -l根据需求选择合适的命令即可!
lsblk 是 Linux 系统中用于列出所有块设备及其层次结构的命令,以树状形式展示存储设备(如硬盘、分区、USB 设备等)的详细信息。
默认输出包含以下列:
| 列名 | 含义 |
|---|---|
| NAME | 设备名称(如 sda、sdb1、nvme0n1p2)。 |
| MAJ:MIN | 主设备号和次设备号(内核标识设备的数字)。 |
| RM | 是否为可移动设备(1=是,0=否)。 |
| SIZE | 设备容量(如 100G、500M)。 |
| RO | 是否为只读设备(1=只读,0=可读写)。 |
| TYPE | 设备类型(disk=物理磁盘,part=分区,rom=光盘,lvm=LVM 卷等)。 |
| MOUNTPOINT | 设备挂载点(如 /、/boot,未挂载则显示为空)。 |
| 选项 | 作用 |
|---|---|
-a | 显示所有设备(包括未挂载或空的设备)。 |
-d | 仅显示磁盘设备,不显示分区(如只显示 sda,不显示 sda1)。 |
-f | 显示文件系统信息(如文件系统类型、UUID、标签)。 |
-i | 使用 ASCII 字符显示树形结构(默认无此选项时用更简洁的符号)。 |
-o | 自定义输出列(如 lsblk -o NAME,SIZE,MOUNTPOINT)。 |
-n | 不显示标题行(常与 -o 配合使用,便于脚本处理)。 |
-p | 显示完整设备路径(如 /dev/sda)。 |
过滤特定设备(如查看所有 NVMe 磁盘):
lsblk | grep nvme
自定义输出列(名称、大小、类型、挂载点):
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
显示文件系统信息(如 UUID 和类型):
lsblk -f
仅显示磁盘设备(不显示分区):
lsblk -d
查看所有块设备及挂载点:
lsblk
sudo 权限才能完整显示。sda 是物理磁盘,sda1 是其分区)。fdisk -l 的区别:lsblk 更直观显示层级,而 fdisk -l 提供更底层的分区表信息。/etc/fstab 配置)。通过 lsblk,用户可以高效管理存储设备,无需深入解析复杂命令的输出。
topeet@topeet:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
└─sda1 8:1 0 465.8G 0 part
mmcblk1 179:0 0 28.9G 0 disk
├─mmcblk1p1 179:1 0 4M 0 part
├─mmcblk1p2 179:2 0 4M 0 part
├─mmcblk1p3 179:3 0 64M 0 part
├─mmcblk1p4 179:4 0 128M 0 part
├─mmcblk1p5 179:5 0 32M 0 part
└─mmcblk1p6 179:6 0 28.7G 0 part /
mmcblk1boot0 179:32 0 4M 1 disk
mmcblk1boot1 179:64 0 4M 1 disk
zram0 254:0 0 0B 0 disk
根据您提供的 lsblk 输出,以下是设备结构的详细解释:
sda (465.8G)disk)sda1(占用全部空间)。MOUNTPOINTS 列为空)。mmcblk1 (28.9G)disk),通常是嵌入式设备(如树莓派)或移动设备的 eMMC/SD 卡。/(根目录),说明这是系统的主要存储设备。分区结构:
| 分区名称 | 大小 | 类型 | 用途推测 |
| --- | --- | --- |
| mmcblk1p1 | 4M | part | 可能用于启动引导(如 U-Boot 环境) |
| mmcblk1p2 | 4M | part | 可能是保留分区或备用引导分区 |
| mmcblk1p3 | 64M | part | 可能用于内核镜像或恢复分区 |
| mmcblk1p4 | 128M | part | 可能用于系统保留或调试 |
| mmcblk1p5 | 32M | part | 可能用于交换分区(Swap)或特殊配置 |
| mmcblk1p6 | 28.7G | part | 根分区(系统安装在此分区) |
mmcblk1boot0 和 mmcblk1boot1disk),但实际是 mmcblk1 的引导分区。RO=1),防止意外修改。zram0disk),但实际是内存压缩设备。0B,可能未激活或配置异常。/etc/fstab)是否启用。mmcblk1p6 是根目录(/),存储操作系统和用户数据。sda 未挂载,可能是外部存储或未初始化的磁盘。mmcblk1boot* 分区只读,保护启动代码不被篡改。zram0 大小为 0B,需检查是否配置了交换空间。查看分区详细信息:
sudo lsblk -f # 显示文件系统类型和 UUID
修复 zram 配置(如需要):
编辑 /etc/fstab,添加类似配置:
/dev/zram0 none swap sw 0 0
然后重启或手动启用:
sudo swapon /dev/zram0
检查交换空间:
free -h # 查看内存和交换空间使用情况
sudo swapon --show # 检查 zram 是否启用
挂载 sda:
sudo mkdir /mnt/sda # 创建挂载点
sudo mount /dev/sda1 /mnt/sda # 挂载分区
检查文件系统类型(如 ext4/ntfs)后再挂载。
通过以上分析,您可以更清晰地管理存储设备并优化系统配置。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online