用 ncdu 检查 Linux 中的可用磁盘空间
创始人
2024-03-02 08:23:05
0

用 ncdu Linux 命令获得关于磁盘使用的交互式报告。

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

在 Linux 上安装 ncdu

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

$ sudo dnf install ncdu

在 BSD 上,你可以使用 pkgsrc

在 macOS 上,你可以从 MacPortsHomeBrew 安装。

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

使用 ncdu

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

ncdu interface

这是 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 目录,塞满了很多的 flatpak 包)。

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

获取一个特定目录的大小

你可以在启动 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 添加一些颜色。

ncdu color scheme

包括符号链接

ncdu 输出按字面意思处理符号链接,这意味着一个指向 9GB 文件的符号链接只占用 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 命令使它变得简单和互动。下次当你对你的电脑上存储的东西感到好奇时,或者只是想以一种新的方式探索你的文件系统时,不妨试试 ncdu


via: https://opensource.com/article/21/8/ncdu-check-free-disk-space-linux

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

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

相关内容

在CentOS系统下使用y...
磁盘阵列(RAID)对于提高服务器数据的安全性和性能至关重要。在C...
2025-06-14 14:41:23
安装CentOS至联想36...
核心配置确认与环境准备 对于联想ThinkSystem SR365...
2025-06-10 11:40:26
Linux-磁盘挂载
1 说明 避免一头雾水,请先看完说明,...
2025-06-01 05:02:30
【华为OD机试真题JAVA...
标题:磁盘容量排序问题 | 时间限制:1秒 | 内存限制:2621...
2025-05-31 11:02:58
Win11的两个实用技巧系...
Win11怎么把C盘分成几个盘?Win11电脑磁盘分区的方法近期有...
2025-05-31 02:52:07
vmware扩容cento...
把虚拟机关机,打开虚拟机设置->添加 点击 硬盘-...
2025-05-29 14:43:50

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...