在Linux系统中,查看磁盘大小是一项基础且重要的系统管理任务。这通常涉及查看磁盘的物理容量、分区的划分情况以及文件系统的实际使用空间。专业的系统管理员或开发者需要掌握一系列命令行工具来获取这些信息。

最常用和权威的命令是df和lsblk。其中,df(disk free)主要用于报告文件系统的磁盘空间使用情况,而lsblk(list block devices)则以树状结构列出所有块设备(如磁盘和分区)的详细信息,包括其大小。
| 命令 | 主要用途 | 关键选项 | 示例输出说明 |
|---|---|---|---|
| df | 查看文件系统磁盘空间使用情况 | -h(人类可读格式), -T(显示文件系统类型) | 显示挂载点、总容量、已用空间、可用空间和使用百分比。 |
| lsblk | 列出所有块设备及其大小和挂载点 | -f(显示文件系统信息), -o(自定义输出列) | 显示设备名、大小、类型、挂载点等,清晰展示磁盘与分区层次。 |
| fdisk | 磁盘分区表操作工具,可用于查看 | -l(列出分区表) | 显示每个磁盘的详细信息,包括扇区、分区表类型和各分区起止与大小。 |
| parted | 高级分区操作工具,可查看详细信息 | -l(列出所有块设备的分区信息) | 输出磁盘型号、容量、分区表及每个分区的起始、结束和大小。 |
| du | 估算文件和目录的磁盘使用量 | -sh(汇总并以人类可读格式显示) | 常用于查看特定目录(如 /home)占用了多少磁盘空间。 |
1. 使用 `df` 命令查看文件系统使用情况
执行 df -hT 是最直接的方法。-h 选项将字节数转换为易读的KB、MB、GB单位,-T 选项则显示文件系统类型(如ext4, xfs, tmpfs)。此命令能快速了解系统上各个挂载点的空间余量,对排查“磁盘已满”问题至关重要。
2. 使用 `lsblk` 命令查看磁盘与分区物理大小
执行 lsblk -f 或 lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT。这个命令能清晰地展示磁盘(如sda、vda)与其下属分区(如sda1、sda2)的包含关系,并列出其物理大小。这对于规划磁盘分区和了解存储结构非常有帮助。
3. 使用 `fdisk` 或 `parted` 查看磁盘分区详情
对于需要了解分区表细节(如MBR/GPT)、分区起始扇区等低级信息时,可以使用 sudo fdisk -l 或 sudo parted -l。这些命令需要root权限,并提供最详细的磁盘几何信息和分区布局。
4. 使用 `du` 命令分析目录占用空间
当df显示某个分区使用率很高时,需要定位是哪些文件或目录占用了空间。这时可以使用 du -sh /path/to/directory 进行排查。例如,du -sh /var/log 可以快速查看日志目录的大小。
扩展知识:编程实现
在Shell脚本编程中,通常会组合使用上述命令。例如,需要监控根目录(/)使用率并在超过阈值时报警,可以编写如下脚本片段:
bash
#!/bin/bash
THRESHOLD=80
USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $USAGE -gt $THRESHOLD ]; then
echo "警告:根分区使用率已超过 ${THRESHOLD}%,当前为 ${USAGE}%"
fi
此脚本利用了df、grep、awk等命令进行文本提取和比较,体现了Linux工具链的强大。
总结来说,查看Linux磁盘大小是一个多层次的任务:lsblk和fdisk用于查看物理磁盘和分区大小,df用于查看文件系统层面的已用和可用空间,而du则用于深入文件系统内部定位大文件。掌握这些工具的组合使用,是进行专业系统管理和运维的基础。

查看详情

查看详情