用 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 库,它将你的终端窗口变成一个基本的图形应用,所以你可以使用方向键来浏览菜单。
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
。
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十