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

运维 系统运维
经典的 Linux 命令 df 和 du 是快速了解硬盘上的内容的方法,它们提供了一个可靠的报告,易于解析和处理。这对脚本和处理来说是很好的,但人的大脑对数百行的原始数据并不总是反应良好。认识到这一点,ncdu 命令旨在提供一份关于你在硬盘上使用的空间的交互式报告。
  • 用 ncdu Linux 命令获得关于磁盘使用的交互式报告。

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

[[420229]]

在 Linux 上安装 ncdu

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

  1. $ sudo dnf install ncdu 

在 BSD 上,你可以使用 pkgsrc。

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

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

使用 ncdu

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

 

ncdu interface

 

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

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

  1. $ ncdu 
  2. ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help                                                                   
  3. --- /home/tux ----------------------------------------------- 
  4.    22.1 GiB [##################] /.var 
  5.    19.0 GiB [###############   ] /Iso 
  6.    10.0 GiB [########          ] /.local 
  7.     7.9 GiB [######            ] /.cache 
  8.     3.8 GiB [###               ] /Downloads 
  9.     3.6 GiB [##                ] /.mail 
  10.     2.9 GiB [##                ] /Code 
  11.     2.8 GiB [##                ] /Documents 
  12.     2.3 GiB [#                 ] /Videos 
  13. [...] 

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

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

获取一个特定目录的大小

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

  1. $ ncdu ~/chromiumos 

排除目录

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

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

  1. $ ncdu --exclude ".var" 
  2.    19.0 GiB [##################] /Iso 
  3.    10.0 GiB [#########         ] /.local 
  4.     7.9 GiB [#######           ] /.cache 
  5.     3.8 GiB [###               ] /Downloads 
  6. [...] 

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

  1. $ ncdu --exclude-from myexcludes.txt /home/tux 
  2.    10.0 GiB [#########         ] /.local 
  3.     7.9 GiB [#######           ] /.cache 
  4.     3.8 GiB [###               ] /Downloads 
  5. [...] 

颜色方案

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

 

ncdu color scheme

 

包括符号链接

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

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

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

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

磁盘使用率

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

责任编辑:未丽燕 来源: Linux中国
相关推荐

2018-07-24 08:50:40

Linux磁盘空间磁盘利用率

2020-11-17 11:19:48

Linux磁盘空间

2021-08-06 20:22:27

Linuxdu命令

2021-08-04 12:09:04

Linuxdf命令

2010-05-27 17:51:55

Linux查看磁盘空间

2023-04-18 23:31:59

Linux磁盘系统

2018-01-03 08:42:40

Linux命令磁盘空间

2011-01-18 10:25:19

Linux磁盘分区

2018-08-07 09:00:06

Linux命令磁盘空间

2020-07-09 09:55:12

diskonautLinux导航器

2010-06-17 15:01:24

Linux查看磁盘空间

2010-04-08 15:24:36

Windows磁盘空间

2009-11-10 11:02:20

VMwareLINUX虚拟机

2009-08-21 10:22:37

Linux系统磁盘空间管理工具

2021-11-14 05:00:40

Linux 命令

2009-11-30 17:20:32

LINUX虚拟机磁盘

2011-08-19 14:34:03

iPhone开发

2020-05-12 09:02:29

Linux磁盘硬盘

2021-11-03 16:25:26

Linux磁盘空间命令

2013-11-29 10:35:34

命令行工具ncdu
点赞
收藏

51CTO技术栈公众号