一文读懂 Linux 磁盘使用情况查看

一文读懂 Linux 磁盘使用情况查看

在 Linux 系统管理与运维工作中,时刻掌握磁盘的使用状况对保障系统稳定运行、提前规划存储扩容至关重要。Linux 提供了丰富且功能各异的工具,用于查看磁盘使用详情,本文将深入介绍这些实用工具,并结合实际操作示例,助力大家轻松驾驭磁盘管理工作。

一、df 命令:快速概览磁盘空间

  1. 基础原理
    df(disk free)是 Linux 系统下最常用的查看磁盘空间占用情况的命令,它能够迅速给出各个挂载点的磁盘总容量、已用空间、剩余空间以及使用率等关键信息。通过读取文件系统的超级块数据,df 精准汇总磁盘状态呈现给用户。
  2. 使用示例
    在终端简单输入 df,你会得到类似如下基础输出:
bash 复制代码
$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       20642432 12384560   7197872  63% /
devtmpfs          495848       0    495848   0% /dev
tmpfs             507880       0    507880   0% /dev/shm
tmpfs             507880    7560    500320   2% /run
tmpfs             507880       0    507880   0% /sys/fs/cgroup

每列信息含义清晰:

  • Filesystem:代表文件系统名称,对应着具体的磁盘分区或者虚拟文件系统。
  • 1K-blocks:该分区以 1KB 为单位计量的总磁盘容量。
  • Used:已经使用的磁盘空间大小,同样以 1KB 为单位。
  • Available:剩余可供使用的磁盘空间,单位为 1KB。
  • Use%:磁盘使用率。
  • Mounted on:该文件系统的挂载点。

为了让输出更贴合日常阅读习惯,带上 -h 参数,将以人类可读的格式显示,比如把 KB、MB、GB 等单位换算好:

bash 复制代码
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        20G   12G   7.0G  63% /
devtmpfs        484M     0  484M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M   7.4M  488M   2% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup

二、du 命令:精准统计目录磁盘占用

  1. 基础原理
    du(disk usage)侧重于统计目录或文件占用磁盘空间的实际大小 ,递归遍历指定目录下的所有子目录与文件,累加计算出磁盘使用量。它不同于 df 关注挂载点整体,du 聚焦目录层级的空间占用。
  2. 使用示例
    要查看当前目录下所有文件和子目录的磁盘占用,执行:
bash 复制代码
$ du
4      ./test
8      .

这里输出显示,test 目录占用 4KB 磁盘空间,当前目录整体占用 8KB 。如果想统计更大范围,比如根目录下所有内容的磁盘占用,使用du -a /,不过这可能会花费较长时间,因为要遍历海量文件与目录。

使用du -h能得到人类可读格式的结果,例如查看/home目录:

bash 复制代码
$ du -h /home
2.3G    /home/user/Documents
1.5G    /home/user/Pictures
...
20G     /home

它依次列出了/home下各重要子目录的磁盘占用,以及/home目录总体磁盘占用量。加-s参数还可只显示指定目录的总磁盘占用,省略内部详细分解,如du -sh /home,输出就只有一行总的磁盘占用数值。

三、lsblk 命令:查看块设备信息

  1. 基础原理
    lsblk 专注于展示系统中的块设备信息,块设备也就是像硬盘、U盘、磁盘分区这类存储设备。它以树状结构清晰罗列设备名称、大小、挂载点,还能呈现设备间的层级关系,帮助管理员梳理整个存储架构。
  2. 使用示例
    执行 lsblk 命令,输出如下:
bash 复制代码
$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 HDD /
├─sda1   8:1    0  512M  0 part /boot
└─sda2   8:2    0  19.5G  0 part /
sdb      8:16   0   1T  0 HDD
└─sdb1   8:17   0   1T  0 part /data

NAME 是设备名;MAJ:MIN 为设备的主、次设备号;RM 表示设备是否可移动(0 为不可移动,1 为可移动);SIZE 给出设备大小;RO 指明是否只读;TYPE 区分是磁盘(HDD)、分区(part )等类型;MOUNTPOINT 则是设备挂载之处。从上述输出,能一眼看清系统有哪些硬盘,分区状况以及挂载布局。

掌握这些查看 Linux 磁盘使用情况的得力工具,无论是日常系统巡检、排查磁盘空间不足故障,还是进行大规模存储规划,都能做到心中有数,从容应对磁盘管理相关的各类挑战。

相关推荐
xu_yule2 分钟前
Linux_12(进程信号)内核态和用户态+处理信号+不可重入函数+volatile
linux·运维·服务器
虾..8 分钟前
Linux 环境变量&&进程优先级
linux·运维·服务器
i***t91919 分钟前
Linux下MySQL的简单使用
linux·mysql·adb
偶像你挑的噻20 分钟前
11-Linux驱动开发-I2C子系统–mpu6050简单数据透传驱动
linux·驱动开发·stm32·嵌入式硬件
稚辉君.MCA_P8_Java1 小时前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
数据库学啊2 小时前
团队小希望运维简单,时序数据库选型有什么推荐?
运维·数据库·时序数据库
霍格沃兹软件测试开发2 小时前
Playwright MCP浏览器自动化指南:让AI精准理解你的命令
运维·人工智能·自动化
郝学胜-神的一滴3 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
宾有为3 小时前
【Linux】Linux 常用指令
linux·服务器·ssh
wanhengidc3 小时前
云手机性能如何?
运维·服务器·科技·智能手机·云计算