如何列出目录中文件和目录的递归文件大小?

haw*_*eye 69 files file-size

如何列出目录中的所有文件及其递归文件大小?

- -编辑

我想看到大小“汇总”到列出的目录中的父目录。我不想看到子目录或其内容或大小。

小智 79

apt-get install ncdu
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

它也是交互式的,因此如果您想检查子文件夹,只需按 UP、DOWN 和 Enter 即可。


Pav*_* G. 64

我想最简单的方法是输入ls -l, 或者ls -lh它将以人类可读的格式(KB、MB 等)提供文件大小。

如果“递归”意味着列出所有后续文件夹,例如:

/foo/
/foo/bar/ ....

然后你还应该添加参数R,比如ls -lRls -lhR

ls可以通过键入找到更多信息man ls

更新:

Lekensteyn 提出的以下命令可能会完成这项工作:

du -h --max-depth=1 <folder>

-h用于人类可读
--apparent-size是另一种显示大小的方式,正如已经说明的那样,
--max-depth是您想要向下访问的子文件夹的级别。


Ric*_*way 32

获取目录和所有子目录的总大小

du -hs directory/*
Run Code Online (Sandbox Code Playgroud)


Ric*_*way 17

也检查出来tree。它不是默认安装的,而是存储库。

例子:

richard@legend:~$ tree Applications/ -s
Applications/
??? [           4096]  AlexFTPS-1.0.2
?   ??? [      31232]  AlexPilotti.FTPS.Client.dll
?   ??? [     274432]  C5.dll
?   ??? [       1457]  C5-License
?   ??? [      35147]  COPYING
?   ??? [       7639]  COPYING.LESSER
?   ??? [         70]  ftps
?   ??? [      28672]  ftps.exe
?   ??? [      98304]  Plossum CommandLine.dll
?   ??? [       1557]  Plossum-License
?   ??? [       2560]  README
??? [           4096]  src
    ??? [     180849]  AlexFTPS_bin_1.0.2.zip
Run Code Online (Sandbox Code Playgroud)

更多选项可以在手册页中找到。

  • 显示目录记录的大小而不是完整的目录大小。 (2认同)

Ser*_*gey 16

由于您没有特别提到您需要基于终端的解决方案,因此我认为列表中缺少baobab aka Disk Usage Analyzer。

它默认安装在 Ubuntu 中,并在一个漂亮的图形 UI 中执行您想要的操作,并且能够向下钻取目录层次结构。

除了显示目录及其大小的列表外,它还显示文件系统使用情况的环或树状图,这对于可视化占用最多空间的目录非常有用。

baobab 磁盘使用分析器


Lek*_*eyn 10

终端溶液du命令:

du --all --human-readable --apparent-size
Run Code Online (Sandbox Code Playgroud)

(简写:du -ah --apparent-size

du显示每个文件和目录的磁盘使用情况。选项说明:

  • --all, -a- 也显示文件的大小,而不仅仅是目录
  • --human-readable, -h- 以人类可读的格式显示大小,例如10K(10 KB), 10(10 字节)
  • --apparent-size - 显示实际文件大小,而不是磁盘使用的大小。

  • @nikoskip 好提示!也很高兴知道速记,`--max-depth=1` 可以缩写为 `-d1`。 (4认同)
  • @hawkeye 第一级你可以使用`--max-depth=1` (2认同)