检查 Linux 磁盘使用情况
创始人
2024-03-02 11:42:19
0

du 和 ncdu 两个命令提供了相同信息的两种不同视图,便于我们跟踪存储在计算机上的内容。

无论你有多少存储空间,了解文件占用了多少磁盘空间都是一个重要的考虑事项。我的笔记本有一个相对较小的 250GB NVME 驱动器,大多数时候都没什么问题,但几年前我开始探索 Linux 上的游戏,情况变得有所不同,安装 Steam 和其他游戏使存储管理更加重要。

du 命令

检查磁盘驱动器上剩余存储空间最简单的方法是 du 命令。它会估计文件空间使用情况,像其他所有 Linux 工具一样,du 非常强大,但学会如何根据你的特定需求使用它会很有帮助。我总是查阅手册页来掌握实用程序的用法。du 有几个选项,可以为你提供文件存储的最佳快照,以及它们在系统上消耗多少空间。

du 命令有很多选项,以下是一些常见的:

  • -a - 包括文件夹和文件在内的存储信息
  • --apparent-size - 打印自身大小而不是占用磁盘量
  • -h - 人类可读的格式
  • -b - 以字节为单位
  • -c - 总计
  • -k - 以块为单位
  • -m - 以兆字节为单位的大小

务必查看 du 手册页获取完整帮助列表。

显示所有文件

你可以选择的第一个选项是 du -a,它可以显示系统上所有文件及其存储目录的大小。这个命令让我知道了我的主目录中存储了 11555168 个字节。使用 du -a 可以快速递归地查看我的存储系统。如果我想要一个更有意义的数字,并且我想深入到目录中查看大文件的位置,该怎么办?

我认为在 Downloads 目录下有一些大文件,所以我输入 du -a /home/don/Downloads 来查看。

$ du -a ~/Downloads
4923    ./UNIX_Driver_5-0/UNIX Driver 50
4923    ./UNIX_Driver_5-0
20      ./epel-release-latest-9.noarch.rpm
12      ./rpmfusion-free-release-9.noarch.rpm
2256    ./PZO9297 000 Cover.pdf
8       ./pc.md
2644    ./geckodriver-v0.31.0-linux64.tar.gz
466468

最左边的数字是以字节为单位的文件大小。我想要一些对我更有帮助的东西,所以我将人类可读格式的选项添加到命令中,结果是 456M(兆字节),这对我来说是一种更有用的数字格式。

$ du -ah ~/Downloads
4.9M    ./UNIX_Driver_5-0/UNIX Driver 50
4.9M    ./UNIX_Driver_5-0
20K    ./epel-release-latest-9.noarch.rpm
12K    ./rpmfusion-free-release-9.noarch.rpm
2.2M    ./PZO9297 000 Cover.pdf
8.0K    ./pc.md
2.6M    ./geckodriver-v0.31.0-linux64.tar.gz
456M    .

与大多数 Linux 命令一样,你可以组合选项,要以人类可读的格式查看 Downloads 目录,使用 du -ah ~/Downloads 命令。

总和

-c 选项在最后一行提供了磁盘使用总和。我可以使用 du -ch /home/don 来显示主目录中的每个文件和目录。这里有很多信息,我只想知道最后一行的信息,所以我将 du 命令通过管道传输给 tail 来显示最后几行。命令是 du -ch /home/don | tail。(LCTT 校注:可以使用 tail -1 来仅显示最后一行汇总行。)

将 du 命令输出通过管道传输到 tail

ncdu 命令

对存储在驱动器上内容感兴趣的 Linux 用户,另一个选择是 ncdu 命令,它代表 “NCurses 磁盘使用情况”。基于你的 Linux 发行版,你可能需要下载并安装它。

在 Linux Mint、Elementary、Pop_OS! 或其它基于 Debian 的发行版上:

$ sudo apt install ncdu

在 Fedora、Mageia 或 CentOS 上:

$ sudo dnf install ncdu

在 Arch、Manjar 或者类似发行版上:

$ sudo pacman -S ncdu

安装后,你可以使用 ncdu 来分析你的文件系统。以下是在我的主目录中发出 ncdu 后的示例输出。ncdu 的手册页指出 “ncdu(NCurses Disk Usage)是众所周知的 du 基于 curses 的版本,它提供了一种快速查看哪些目录正在使用磁盘空间的方法。”

du 命令输出

我可以使用方向键上下导航,按下回车键进入目录。有趣的是,du 报告我的主目录中的总磁盘使用量为 12GB,而 ncdu 显示为 11GB。你可以在 ncdu 手册页中找到更多信息。

你可以将 ncdu 指向某个目录来探索特定目录。例如,ncdu /home/don/Downloads

ncdu 命令输出

? 键显示帮助菜单。

ncdu 帮助

总结

duncdu 两个命令提供了相同信息的两种不同视图,便于我们跟踪存储在计算机上的内容。

如果你不习惯使用终端,或者想寻找此类信息的另一种查看方式,可以看看 GNOME 磁盘使用分析器。如果你的系统上还没有它,你可以轻松安装和使用它。检查你的发行版是否有 baobab 开发的这个软件,如果你想试试,那就去安装它吧。

(文内图片来自于 Don Watkins, CC BY-SA 4.0)


via: https://opensource.com/article/22/7/check-disk-usage-linux

作者:Don Watkins 选题:lkxed 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

文件碎片整理 WinCon...
WinContig 是一个用起来很方便的独立碎片整理工具。它有个很...
2026-01-20 18:24:04
基于Dubbo的分布式系统...
基于Dubbo的分布式系统架构实战解析 在金融科技与电商领域,分布...
2026-01-19 19:26:34
AI网校系统推荐_EduS...
在当前的教育科技领域,传统的网校系统正面临严重的“同质化”竞争。对...
2026-01-19 18:47:45
酱油文化:“AI漫剧工厂”...
AI技术使漫剧制作效率得到极大提升,解开了供不应求的“死循环”,还...
2025-12-25 15:16:17
Vidu Agent全球内...
12月16日,生数科技于正式推出Vidu Agent,定位为可商用...
2025-12-17 13:16:03
Linux 6.18成为新...
内核6.18已被指定为新的LTS长期支持版本,正如我们之前的预测,...
2025-12-10 14:45:39

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...