Molet

用 ncdu 检查 Linux 中的可用磁盘空间

Molet 运维技术 2022-11-16 450浏览 0
  • 用 ncdu Linux 命令获得关于磁盘使用的交互式报告。

计算机用户多年来往往积累了大量的数据,无论是重要的个人项目、数码照片、视频、音乐还是代码库。虽然现在的硬盘往往相当大,但有时你必须退一步,评估一下你在硬盘上实际存储了什么。经典的 Linux 命令 df 和 du 是快速了解硬盘上的内容的方法,它们提供了一个可靠的报告,易于解析和处理。这对脚本和处理来说是很好的,但人的大脑对数百行的原始数据并不总是反应良好。认识到这一点,ncdu 命令旨在提供一份关于你在硬盘上使用的空间的交互式报告。

用 ncdu 检查 Linux 中的可用磁盘空间

在 Linux 上安装 ncdu

在 Linux 上,你可以从你的软件仓库安装 ncdu。例如,在 Fedora 或 CentOS 上:

$sudodnfinstallncdu

在 BSD 上,你可以使用 pkgsrc。

在 macOS 上,你可以从 MacPorts 或 HomeBrew 安装。

另外,你也可以 从源码编译 ncdu。

使用 ncdu

ncdu 界面使用 ncurses 库,它将你的终端窗口变成一个基本的图形应用,所以你可以使用方向键来浏览菜单。

用 ncdu 检查 Linux 中的可用磁盘空间

ncdu interface

这是 ncdu 的主要吸引力之一,也是它与最初的 du 命令不同的地方。

要获得一个目录的完整列表,启动 ncdu。它默认为当前目录。

$ncdu
ncdu1.16~Usethearrowkeystonavigate,press?forhelp
---/home/tux-----------------------------------------------
22.1GiB[##################]/.var
19.0GiB[###############]/Iso
10.0GiB[########]/.local
7.9GiB[######]/.cache
3.8GiB[###]/Downloads
3.6GiB[##]/.mail
2.9GiB[##]/Code
2.8GiB[##]/Documents
2.3GiB[#]/Videos
[...]

这个列表首先显示了最大的目录(在这个例子中,那是 ~/.var 目录,塞满了很多的 flatpak 包)。

使用键盘上的方向键,你可以浏览列表,深入到一个目录,这样你就可以更好地了解什么东西占用了最大的空间。

获取一个特定目录的大小

你可以在启动 ncdu 时提供任意一个文件夹的路径:

$ncdu~/chromiumos

排除目录

默认情况下,ncdu 包括一切可以包括的东西,包括符号链接和伪文件系统,如 procfs 和 sysfs。你可以用 –exclude-kernfs 来排除这些。

你可以使用 –exclude 选项排除任意文件和目录,并在后面加上一个匹配模式。

$ncdu--exclude".var"
19.0GiB[##################]/Iso
10.0GiB[#########]/.local
7.9GiB[#######]/.cache
3.8GiB[###]/Downloads
[...]

另外,你可以在文件中列出要排除的文件和目录,并使用 –exclude-from 选项来引用该文件:

$ncdu--exclude-frommyexcludes.txt/home/tux
10.0GiB[#########]/.local
7.9GiB[#######]/.cache
3.8GiB[###]/Downloads
[...]

颜色方案

你可以用 –color dark 选项给 ncdu 添加一些颜色。

用 ncdu 检查 Linux 中的可用磁盘空间

ncdu color scheme

包括符号链接

ncdu 输出按字面意思处理符号链接,这意味着一个指向 9GB 文件的符号链接只占用 40 个字节。

$ncdu~/Iso
9.3GiB[##################]CentOS-Stream-8-x86_64-20210427-dvd1.iso
@0.0B[]fake.iso

你可以用 –follow-symlinks 选项强制 ncdu 跟踪符号链接:

$ncdu--follow-symlinks~/Iso
9.3GiB[##################]fake.iso
9.3GiB[##################]CentOS-Stream-8-x86_64-20210427-dvd1.iso

磁盘使用率

磁盘空间用完并不有趣,所以监控你的磁盘使用情况很重要。ncdu 命令使它变得简单和互动。下次当你对你的电脑上存储的东西感到好奇时,或者只是想以一种新的方式探索你的文件系统时,不妨试试 ncdu。

继续浏览有关 系统运维 的文章
发表评论