Linux系统查看磁盘情况命令:df、du

Linux并不像Windows系统那样配备便捷的图形操作界面,尤其是在充当服务器角色使用的场景下,往往只能依赖命令行来完成各项操作。

我手头有一台云服务器,平日里主要用来做一些数据分享相关的工作,最近想要查看一下磁盘以及其中各文件的占用状况,于是便搜索并学习了一批用于查看磁盘空间信息的命令,这些命令本身虽然操作简单,但对我个人而言仍有一些值得记录的新收获。

  1. df命令

首先,登录服务器后运用df命令来查看磁盘的整体使用情况:

/home/projects/databook# df .
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/vda1       51420828 14018512  35079240  29% /

该命令的输出结果涵盖了当前文件系统的磁盘使用状况。

df命令还配有一个-h参数,能够更为直观地呈现磁盘信息:

/home/projects/databook# df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G   14G   34G  29% /

-h参数通常用于展示帮助信息,不过在df命令这里,h所代表的含义是human,也就是以人类便于理解的方式来加以呈现。

上述输出展示的是这块磁盘的整体使用量,涵盖了我这台虚拟服务器上的所有内容——包括可执行文件、各类库文件以及配套的支持文件等等。总容量为50G,目前仅使用了29%,剩余空间相对而言还比较充裕宽松。

  1. du命令

紧接着,我想要查看一下databook目录下各文件的占用情况,这时就需要借助du命令来实现:

/home/projects/databook# du -hd 1 .
24K     ./certs
4.0K    ./download
3.2M    ./admin-ui
2.9M    ./public
108K    ./output
181M    ./upload
472K    ./markdown-files
207M    .

同样地,-h参数表示以便于人类阅读的方式进行展示,而-d 1参数则表示du命令仅深入一层目录级别(也就是当前所在目录)。

从输出结果不难看出,upload目录所占空间相对偏大一些,其余各目录的占用情况都还算正常。最后一行显示的207M则代表整个目录所占用的磁盘总容量。

我希望能够依照文件/文件夹占用磁盘空间大小的顺序来加以展示,这样便能迅速定位到那些占用空间较大的文件或文件夹。

  1. du搭配sort命令使用

不过,du命令本身并没有提供按磁盘空间大小排序的参数,因此我尝试将其与sort命令结合起来实现排序功能。

/home/projects/databook# du -hd 1 . | sort -n
2.9M    ./public
3.2M    ./admin-ui
4.0K    ./download
24K     ./certs
108K    ./output
181M    ./upload
207M    .
472K    ./markdown-files

sort命令中的-n参数表示依照数字大小进行排序,不过文件夹大小所显示的数值当中,除了纯数字之外还附带了相应单位(比如MK这类标识)。因此,这样的排序方式对我们的实际需求帮助有限。

紧接着,我尝试将所有文件的大小统一转换为字节单位来表示,然后再进行排序处理:

/home/projects/databook# du -kd 1 . | sort -n
4       ./download
24      ./certs
108     ./output
472     ./markdown-files
2948    ./public
3224    ./admin-ui
184532  ./upload
211112  .

du命令中的-k参数表示以字节为单位来呈现文件/文件夹的大小数值。

这样一来虽然能够正常实现排序功能,但可读性方面表现欠佳,字节这种表示方式并不算是便于人类理解的形式,相较之下MBGB这类单位显然更容易被理解接受。

经过进一步查证,我发现sort命令原来也内置了-h参数,同样是用于识别并读取便于人类理解的数值格式。

/home/projects/databook# du -hd 1 . | sort -hr
207M    .
181M    ./upload
3.2M    ./admin-ui
2.9M    ./public
472K    ./markdown-files
108K    ./output
24K     ./certs
4.0K    ./download

如此一来便完全满足了我查询磁盘空间占用情况的实际需求。

sort命令当中的-r参数表示按照从大到小的顺序进行排列,由于我更关注体积较大的文件情况,因此希望将这些大文件优先排列在前面展示。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/3149.html

Like (1)
Previous 2026年7月13日
Next 2026年7月14日

相关推荐

  • MD5 加密算法是什么?

    MD5(Message Digest Algorithm 5) 是一种哈希算法(Hash Algorithm),主要用来对数据进行不可逆的单向加密 ,常见于密码储存、数据完整性验证…

    2026年5月14日
    0
  • 数据库审计是做什么的?

    随着信息泄露事件的频繁发生,数据库安全产品逐步走进大众视野。在数据库安全产品之中,数据库审计可算得上是用户方最为熟识的一款产品了。在不影响业务系统正常运行的前提下,数据库审计产品可…

    2026年7月17日
    0
  • CC攻击和DDoS攻击有什么不一样?

    互联网企业时常会遭受网络攻击,其中最为普遍的攻击手段就是CC攻击和DDoS攻击这两种,那么,什么是CC攻击,什么又是DDoS攻击,这两者的攻击原理是什么,两者的差异又是什么?其实弄…

    2026年6月4日
    0
  • Cloudflare 错误 520:原因及解决方法

    网站打不开,访客只能看到空白页面,上面写着“错误 520”,而 Cloudflare 只是提示“源服务器返回未知错误”,这种是什么情况呢?我们应该如何解决? 什么是 Cloudfl…

    2026年3月27日
    0
  • 深入掌握Nginx服务器

    本文介绍nginx服务器及其主要特性,首先给出了包管理器安装及编译安装两种方式,然后重点对 nginx 配置文件中的指令及参数进行详细说明,在了解 nginx 的工作方式后,从 n…

    2026年5月8日
    0
  • Web攻击:详解SQL注入、XSS等九种注入攻击

    注入攻击属于众多攻击方式当中的一种,在这类攻击中,攻击者会向程序输入恶意的数据内容,解析引擎则会将这些恶意输入当作命令或查询语句的一部分加以处理,进而在无形中改变了程序原本的执行流…

    2026年7月10日
    0
  • 虚拟内存是什么?它是如何运作的?

    写过代码的人对程序运行的大致流程应该都不陌生:数据先由硬盘读取进内存,之后CPU再与内存展开一系列的数据交互和运算,最终完成既定操作(当中的具体实现远比这复杂得多),程序功能由此得…

    2026年7月27日
    0
  • oss对象存储服务是什么?

    高效地处理大规模数据已经成为许多企业的核心需求​​​​​​​,企业正日益借助大规模的对象存储来打造企业级数据池与智能存储服务,存储系统正朝着更具弹性、更高效、更智能的方向迈进,以契…

    2026年6月9日
    0
  • Linux服务器卡顿了如何排查?

    今天分享一下Linux服务器卡顿了如何排查,这是运维新手的必修课,建议认真读完,建立整个排查思路非常重要。 生产环境验证过的 Linux 卡顿六步定位法:系统负载–》C…

    2026年5月7日
    0
  • http和https的区别及优缺点

    你有没有注意到,有些网站的网址开头是http://,有些则是https://? 虽然看起来只差了一个「s」,但它们的安全性和运作方式却完全不同。 什么是 HTTP? http 的定…

    2026年5月13日
    0