使用 ncdu 检查 Linux 中的可用磁盘空间
使用 ncdu Linux 命令获取有关磁盘使用情况的交互式报告。
计算机用户多年来往往会积累大量数据,无论是重要的个人项目、数码照片、视频、音乐还是代码存储库。虽然如今硬盘驱动器往往相当大,但有时您必须退一步并盘点驱动器上实际存储的内容。经典的 Linux 命令 df 和 du 是了解驱动器上内容的快速方法,它们提供了易于解析和处理的可靠报告。这对于脚本编写和处理来说非常有用,但是人脑并不总是能够很好地响应数百行原始数据。认识到这一点,ncdu 命令旨在提供有关您在硬盘驱动器上使用的空间的交互式报告。
在 Linux 上安装 ncdu
在 Linux 上,您可以从软件存储库安装 ncdu。例如,在 Fedora 或 CentOS 上:
$ sudo dnf install ncdu在 BSD 上,您可以使用 pkgsrc。
在 macOS 上,您可以从 MacPorts 或 HomeBrew 安装。
或者,您可以从源代码编译 ncdu。
使用 ncdu
ncdu 的界面使用 ncurses 库,它将您的终端窗口变成一个基本的图形应用程序,以便您可以使用箭头键导航可视菜单。
CC BY-SA 塞思·肯伦
这是 ncdu 的主要吸引力之一,也是它与原始 du 命令的区别。
要获取目录的完整列表,请启动 ncdu。它默认为当前目录。
$ ncdu
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help
--- /home/tux -----------------------------------------------
22.1 GiB [##################] /.var
19.0 GiB [############### ] /Iso
10.0 GiB [######## ] /.local
7.9 GiB [###### ] /.cache
3.8 GiB [### ] /Downloads
3.6 GiB [## ] /.mail
2.9 GiB [## ] /Code
2.8 GiB [## ] /Documents
2.3 GiB [# ] /Videos
[...]该列表首先显示最大的目录(在本例中,这是 ~/.var 目录,充满了许多 flatpaks)。
使用键盘上的箭头键,您可以浏览列表以更深入地进入目录,以便更好地了解占用最多空间的内容。
获取特定目录的大小
您可以通过在启动时提供文件夹的路径来在任意目录上运行 ncdu:
$ ncdu ~/chromiumos排除目录
默认情况下,ncdu 包含它所能包含的所有内容,包括符号链接和伪文件系统,例如 procfs 和 sysfs。 您可以使用--exclude-kernfs排除这些。
您可以使用 --exclude 选项排除任意文件和目录,后跟要匹配的模式。
$ ncdu --exclude ".var"
19.0 GiB [##################] /Iso
10.0 GiB [######### ] /.local
7.9 GiB [####### ] /.cache
3.8 GiB [### ] /Downloads
[...]或者,您可以列出要在文件中排除的文件和目录,并使用 --exclude-from 选项引用该文件:
$ ncdu --exclude-from myexcludes.txt /home/tux
10.0 GiB [######### ] /.local
7.9 GiB [####### ] /.cache
3.8 GiB [### ] /Downloads
[...]配色方案
您可以使用 --color dark 选项向 ncdu 添加一些颜色。
CC BY-SA 塞思·肯伦
包括符号链接
ncdu 输出按字面意思处理符号链接,这意味着指向 9 GB 文件的符号链接仅占用 40 个字节。
$ ncdu ~/Iso
9.3 GiB [##################] CentOS-Stream-8-x86_64-20210427-dvd1.iso
@ 0.0 B [ ] fake.iso您可以使用 --follow-symlinks 选项强制 ncdu 跟踪符号链接:
$ ncdu --follow-symlinks ~/Iso
9.3 GiB [##################] fake.iso
9.3 GiB [##################] CentOS-Stream-8-x86_64-20210427-dvd1.iso磁盘使用情况
磁盘空间用完可不是什么好玩的事,因此监控磁盘使用情况很重要。 ncdu 命令使其变得简单且具有交互性。下次当您对 PC 上存储的内容感到好奇,或者只是想以新的方式探索文件系统时,请尝试 ncdu。


