1.概要
2.内容
在 Ubuntu 系统中,查看磁盘信息的常用命令如下:
1. 查看磁盘空间使用情况(已挂载文件系统)
df -h
- 作用:显示所有已挂载文件系统的磁盘空间使用情况(包括总容量、已用空间、剩余空间、使用率及挂载点)。
- 选项:
-h
:以人类可读格式(如 GB、MB)显示。-T
:显示文件系统类型(如 ext4、xfs)。-i
:查看 inode 使用情况(而非磁盘空间)。
2. 查看磁盘和分区结构
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 /
3. 查看磁盘分区详细信息
sudo fdisk -l
- 作用:列出所有磁盘的分区表信息(包括分区类型、大小、起始/结束扇区等)。
- 注意:需要
sudo
权限。
4. 查看目录/文件占用空间
du -sh /path/to/directory
- 作用:统计指定目录或文件的磁盘使用量。
- 选项:
-s
:仅显示总大小。-h
:以人类可读格式显示。--max-depth=N
:限制递归深度(如--max-depth=1
仅显示一级子目录)。
5. 查看磁盘 UUID 和文件系统类型
sudo blkid
- 作用:显示所有块设备的 UUID(用于挂载配置)和文件系统类型。
6. 交互式查看目录大小(需安装)
sudo apt install ncdu # 安装 ncdu
ncdu /path/to/directory
- 作用:以交互式界面浏览目录大小,支持排序和删除操作。
7. 查看磁盘 I/O 性能
iostat -x 1 # 需安装 sysstat 包
- 作用:监控磁盘的读写速度、利用率等性能指标。
8. 查看磁盘健康状态(需 SMART 支持)
sudo smartctl -a /dev/sdX # 替换 sdX 为磁盘名(如 sda)
- 作用:检查磁盘的 SMART 健康信息(需磁盘支持 SMART)。
常用场景示例:
- 快速检查根目录空间:
df -h /
- 查找大文件:
sudo du -ah / | sort -rh | head -n 20
- 确认磁盘是否被识别:
lsblk
或sudo fdisk -l
根据需求选择合适的命令即可!
3.关联链接
4.关联知识
1.lsblk 命令解释
lsblk
是 Linux 系统中用于列出所有块设备及其层次结构的命令,以树状形式展示存储设备(如硬盘、分区、USB 设备等)的详细信息。以下是详细解释:
命令作用
- 显示系统中所有块设备(如磁盘、分区、RAID、LVM 逻辑卷等)的层级关系。
- 输出包含设备名称、大小、类型、挂载点等信息,帮助用户快速了解存储结构。
输出列说明
默认输出包含以下列:
列名 | 含义 |
---|---|
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 )。 |
示例
-
查看所有块设备及挂载点:
lsblk
-
仅显示磁盘设备(不显示分区):
lsblk -d
-
显示文件系统信息(如 UUID 和类型):
lsblk -f
-
自定义输出列(名称、大小、类型、挂载点):
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
-
过滤特定设备(如查看所有 NVMe 磁盘):
lsblk | grep nvme
注意事项
- 权限问题:部分信息(如 LVM 逻辑卷)可能需要
sudo
权限才能完整显示。 - 树形结构:通过缩进表示设备层级(如
sda
是物理磁盘,sda1
是其分区)。 - 与
fdisk -l
的区别:lsblk
更直观显示层级,而fdisk -l
提供更底层的分区表信息。
典型应用场景
- 快速查看系统存储结构。
- 确认设备挂载状态(如未挂载的分区)。
- 获取设备 UUID 或文件系统类型(用于
/etc/fstab
配置)。 - 诊断存储设备连接问题(如 USB 设备未识别)。
通过 lsblk
,用户可以高效管理存储设备,无需深入解析复杂命令的输出。
2.查询结果解析
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
输出,以下是设备结构的详细解释:
1. 磁盘 sda
(465.8G)
- 类型: 物理磁盘 (
disk
) - 分区: 仅有一个分区
sda1
(占用全部空间)。 - 状态: 未挂载(
MOUNTPOINTS
列为空)。 - 用途推测: 可能是一个未挂载的外部存储设备(如移动硬盘/U盘)或未分区的空闲磁盘。
2. 磁盘 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
根分区(系统安装在此分区)
3. 引导分区 mmcblk1boot0
和 mmcblk1boot1
- 类型: 磁盘 (
disk
),但实际是mmcblk1
的引导分区。 - 状态: 只读 (
RO=1
),防止意外修改。 - 用途: 存储启动镜像(如 Bootloader 代码),确保系统可启动。
4. 压缩内存设备 zram0
- 类型: 磁盘 (
disk
),但实际是内存压缩设备。 - 状态: 大小为
0B
,可能未激活或配置异常。 - 用途: 通常用于交换空间(Swap),通过压缩内存提升性能,但需检查系统配置(如
/etc/fstab
)是否启用。
关键观察点
- 系统盘:
mmcblk1p6
是根目录(/
),存储操作系统和用户数据。 - 未挂载设备:
sda
未挂载,可能是外部存储或未初始化的磁盘。 - 引导安全:
mmcblk1boot*
分区只读,保护启动代码不被篡改。 - 潜在问题:
zram0
大小为0B
,需检查是否配置了交换空间。
建议操作
-
挂载
sda
:sudo mkdir /mnt/sda # 创建挂载点 sudo mount /dev/sda1 /mnt/sda # 挂载分区
检查文件系统类型(如
ext4
/ntfs
)后再挂载。 -
检查交换空间:
free -h # 查看内存和交换空间使用情况 sudo swapon --show # 检查 zram 是否启用
-
查看分区详细信息:
sudo lsblk -f # 显示文件系统类型和 UUID
修复 zram 配置(如需要):
编辑/etc/fstab
,添加类似配置:/dev/zram0 none swap sw 0 0
然后重启或手动启用:
sudo swapon /dev/zram0
通过以上分析,您可以更清晰地管理存储设备并优化系统配置。