ncdu
诅咒 du
这个很棒的CLI实用程序使您可以轻松地以交互方式查找大文件和目录。
例如,在一个知名项目的树中,我们执行以下操作:
sudo apt-get install ncdu
ncdu
结果如下:
然后,我在键盘上向下和向右输入以进入该/drivers
文件夹,然后看到:
ncdu
在启动时只为整个树递归计算一次文件大小,因此效率很高。
“磁盘总使用量”与“表观大小”的比较类似于du
,我在下面进行了解释:为什么`du`的输出通常与`du -b`如此不同?
项目主页:https://dev.yorhel.nl/ncdu
相关问题:
在Ubuntu 16.04中测试。
ncdu
非互动用法
的另一个很酷的功能ncdu
是,您可以先以JSON格式转储大小,然后再使用它们。
例如,要生成文件,请运行:
ncdu -o ncdu.json
然后通过以下方式进行交互检查:
ncdu -f ncdu.json
如果您要处理非常大而缓慢的文件系统(例如NFS),这将非常有用。
这样,您可以首先仅导出一次,这可能需要几个小时,然后浏览文件,退出,再次浏览等。
输出格式只是JSON,因此也很容易在其他程序中重用它,例如:
ncdu -o - | python -m json.tool | less
揭示了一个简单的目录树数据结构:
[
1,
0,
{
"progname": "ncdu",
"progver": "1.12",
"timestamp": 1562151680
},
[
{
"asize": 4096,
"dev": 2065,
"dsize": 4096,
"ino": 9838037,
"name": "/work/linux-kernel-module-cheat/submodules/linux"
},
{
"asize": 1513,
"dsize": 4096,
"ino": 9856660,
"name": "Kbuild"
},
[
{
"asize": 4096,
"dsize": 4096,
"ino": 10101519,
"name": "net"
},
[
{
"asize": 4096,
"dsize": 4096,
"ino": 11417591,
"name": "l2tp"
},
{
"asize": 48173,
"dsize": 49152,
"ino": 11418744,
"name": "l2tp_core.c"
},
在Ubuntu 18.04中测试。