一文读懂 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 磁盘使用情况的得力工具,无论是日常系统巡检、排查磁盘空间不足故障,还是进行大规模存储规划,都能做到心中有数,从容应对磁盘管理相关的各类挑战。

相关推荐
峥嵘life19 分钟前
Android16 EDLA 认证测试CTS问题分析解决
android·java·服务器
学习&笔记19 分钟前
MTK(系统篇)user版本无法使用setenforce 0命令关闭selinux权限
linux·运维·服务器
Bdygsl1 小时前
Linux(8)—— 进程优先级与环境变量
linux·运维·服务器
another heaven1 小时前
【软考 磁盘磁道访问时间】总容量等相关案例题型
linux·网络·算法·磁盘·磁道
吕了了1 小时前
87 Windows 系统安装的本质是什么?
运维·windows·电脑·系统
阿里巴巴P8资深技术专家2 小时前
docker容器启动报错
运维·docker·容器
杨云龙UP2 小时前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql
hashiqimiya2 小时前
两个步骤,打包war,tomcat使用war包
java·服务器·前端
我命由我123453 小时前
python-dotenv - python-dotenv 快速上手
服务器·开发语言·数据库·后端·python·学习·学习方法
txzz88883 小时前
CentOS-Stream-10 系统安装之网络设置
linux·运维·服务器·网络·计算机网络·centos