|  | 
 
| 
一、Ubuntu查看磁盘常用命令
x
我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!您需要 登录 才可以下载或查看,没有账号?我要入营 
  在 Ubuntu 系统中,查看磁盘信息的常用命令如下:
 
 1、查看磁盘空间使用情况(已挂载文件系统)
 · 作用:显示所有已挂载文件系统的磁盘空间使用情况(包括总容量、已用空间、剩余空间、使用率及挂载点)。
 · 选项:
 -h:以人类可读格式(如 GB、MB)显示。
 -T:显示文件系统类型(如 ext4、xfs)。
 -i:查看 inode 使用情况(而非磁盘空间)。
 
 2、查看磁盘和分区结构
 · 作用:以树状结构列出所有块设备(磁盘、分区、挂载点等)。
 · 示例输出:
 
 复制代码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 权限。
 
 4、查看目录/文件占用空间
 
 · 作用:统计指定目录或文件的磁盘使用量。复制代码du -sh /path/to/directory
· 选项:
 -s:仅显示总大小。
 -h:以人类可读格式显示。
 --max-depth=N:限制递归深度(如 --max-depth=1 仅显示一级子目录)。
 
 5、查看磁盘 UUID 和文件系统类型
 · 作用:显示所有块设备的 UUID(用于挂载配置)和文件系统类型。
 
 6、交互式查看目录大小(需安装)
 
 · 作用:以交互式界面浏览目录大小,支持排序和删除操作。复制代码sudo apt install ncdu # 安装 ncdu
ncdu /path/to/directory
 7、查看磁盘 I/O 性能
 
 · 作用:监控磁盘的读写速度、利用率等性能指标。复制代码iostat -x 1 # 需安装 sysstat 包
 8、查看磁盘健康状态(需 SMART 支持)
 
 · 作用:检查磁盘的 SMART 健康信息(需磁盘支持 SMART)。复制代码sudo smartctl -a /dev/sdX # 替换 sdX 为磁盘名(如 sda)
 常用场景示例:
 快速检查根目录空间:df -h /
 查找大文件:sudo du -ah / | sort -rh | head -n 20
 确认磁盘是否被识别:lsblk 或 sudo fdisk -l
 
 根据需求选择合适的命令即可!
 
 二、关联知识
 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) | 
 示例
 1、查看所有块设备及挂载点:
 
 2、仅显示磁盘设备(不显示分区):
 
 3、显示文件系统信息(如 UUID 和类型):
 
 4、自定义输出列(名称、大小、类型、挂载点):
 
 复制代码lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
5、过滤特定设备(如查看所有 NVMe 磁盘):
 
 注意事项
 · 权限问题:部分信息(如 LVM 逻辑卷)可能需要 sudo 权限才能完整显示。
 · 树形结构:通过缩进表示设备层级(如 sda 是物理磁盘,sda1 是其分区)。
 · 与 fdisk -l 的区别:lsblk 更直观显示层级,而 fdisk -l 提供更底层的分区表信息。
 
 典型应用场景
 · 快速查看系统存储结构。
 · 确认设备挂载状态(如未挂载的分区)。
 · 获取设备 UUID 或文件系统类型(用于 /etc/fstab 配置)。
 · 诊断存储设备连接问题(如 USB 设备未识别)。
 
 通过 lsblk,用户可以高效管理存储设备,无需深入解析复杂命令的输出。
 
 2、查询结果解析
 
 根据您提供的 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
 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)是否启用。
 
 关键观察点
 1)系统盘: mmcblk1p6 是根目录(/),存储操作系统和用户数据。
 2)未挂载设备: sda 未挂载,可能是外部存储或未初始化的磁盘。
 3)引导安全: mmcblk1boot* 分区只读,保护启动代码不被篡改。
 4)潜在问题: zram0 大小为 0B,需检查是否配置了交换空间。
 
 建议操作
 1)挂载 sda:
 
 复制代码sudo mkdir /mnt/sda # 创建挂载点
sudo mount /dev/sda1 /mnt/sda # 挂载分区
2)检查交换空间:
 
 复制代码free -h # 查看内存和交换空间使用情况
sudo swapon --show # 检查 zram 是否启用
3)查看分区详细信息:
 
 复制代码sudo lsblk -f # 显示文件系统类型和 UUID
修复 zram 配置(如需要):
 编辑 /etc/fstab,添加类似配置:
 
 复制代码/dev/zram0 none swap sw 0 0
然后重启或手动启用:
 通过以上分析,您可以更清晰地管理存储设备并优化系统配置。
 
 感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
 
 
 | 
 |