Ubuntu 使用终端确定具有子树的树的总大小(Kb)

Ubuntu 使用终端确定具有子树的树的总大小(Kb),ubuntu,recursion,terminal,tree,Ubuntu,Recursion,Terminal,Tree,我试图找出一个文件系统中树的总大小,这个文件系统还递归地包含任何文件和子目录。 我在网上搜索时发现了一些东西 首先,我发现了一些我认为可以用来递归搜索树的东西,它是: find . -type f | wc -l 然后我发现: du -hs 它应该以递归方式总结每个文件的磁盘使用情况 希望我能像这样一起使用它们: find . -type f | wc -l | du -hs 我得到了一个结果,但是我怎么能检查它是否正确呢? 你能做到吗?或者是我应该使用的其他命令或命令组合?您的上一个命令

我试图找出一个文件系统中树的总大小,这个文件系统还递归地包含任何文件和子目录。 我在网上搜索时发现了一些东西

首先,我发现了一些我认为可以用来递归搜索树的东西,它是:

find . -type f | wc -l
然后我发现:

du -hs
它应该以递归方式总结每个文件的磁盘使用情况

希望我能像这样一起使用它们:

find . -type f | wc -l | du -hs
我得到了一个结果,但是我怎么能检查它是否正确呢?
你能做到吗?或者是我应该使用的其他命令或命令组合?

您的上一个命令与du-hs完全等效,因为du不从stdin读取,因此不关心您向它提供了什么

进一步发现-类型f | wc-l不提供文件的总大小,它只是计算当前目录中的文件数。这是因为wc-l会查看您输入的内容,并计算行数,然后找到-类型f只需在目录及其子目录中找到的每个文件上写一行文件名

但是du-hs应该打印一行,比如:

$ du -hs
874M    .
如果要获取目录的总大小,只需将其作为参数输入即可,例如:

$ du -hs /home/someuser/
172K /home/someuser/

啊,然后我就不明白第一个命令做了什么。谢谢你的解释!它是否也递归地通过任何子树?