在tree 1.5中使用tree命令打印目录内容的大小?

在tree 1.5中使用tree命令打印目录内容的大小?

我喜欢tree这是显示文件和文件夹/目录大小的好方法。但-h选项只显示目录的大小,不是其内容的累积大小。

/media/
├── [ 16K]  64D9-E862
│   ├── [8.0K]  downloads

我确实知道我的外部驱动器的容量超过 16kB。

我如何用树 1.5 解决这个问题?更好的是如何升级到 1.6?

答案1

仅适用于树1.6及以上

您可能想看看:

man tree

--du 对于每个目录,将其大小报告为其所有文件和子目录(及其文件等)大小的累积。最终报告中还会给出已用空间的总量(如“du -c”命令)。此选项要求树在发出之前读取整个目录树,请参阅下面的错误和注释。暗示-s。

所以你应该使用:

tree --du -h

答案2

添加已接受的答案...对于任何大量文件夹,您都可能从该命令中获得大量输出。

如果像我一样,您想要识别一些要清除的大文件夹,因为您正在填满驱动器,您可能会发现将 tree 命令与 grep 结合起来很有帮助,以将其限制为 GB 大小的文件夹,从而节省了自己的需要遍历整个输出:

tree --du -h | grep G]

答案3

这是一个旧线程,但这可能对将来的其他人有帮助。

tree --du -h /mnt/cache/ | grep ^├─

如上所述,使用限制标志-L意味着tree将不会将文件/目录的大小加起来低于限制。因此,如果我们使用grep并仅显示以 a 开头的行,├─我们实际上是在执行 a,-L 1但我们得到了完整的大小。

然后,我们可以通过再次运行命令但按照感兴趣的方向修改目录来深入查看空间正在使用的位置。

答案4

请使用此代码可能对您有帮助,

$ sudo tree -hF

或者

# tree -hF

相关内容