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

相关推荐
~时泪~3 分钟前
BGP基础配置实验
运维·服务器·网络
hummhumm6 分钟前
第8章 汇编语言--- 循环结构
java·运维·开发语言·汇编·数据结构·算法·汇编语言
关关钧8 分钟前
【Linux】定时运行shell脚本
linux·运维·服务器
小参宿13 分钟前
【开源监控工具】Uptime Kuma:几分钟设置实时监控你的网站性能
linux·运维·服务器·windows·容器·开源·计算机组成
Clockwiseee15 分钟前
文件上传题目练习
android·服务器·安全·网络安全
caridle39 分钟前
使用SSH建立内网穿透,能够访问内网的web服务器
服务器·前端·ssh
豆是浪个40 分钟前
Linux(Centos 7.6)命令详解:cd
linux·运维·服务器
玖石书1 小时前
[coredump] 生成管理
linux·运维·服务器
NSJim1 小时前
Linux系统自动化sh脚本
linux·shell·自动化脚本
weixin_594064591 小时前
BGP的基本配置
服务器·网络