当前位置: 首页>>技术问答>>正文


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

, ,

问题描述

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

– -编辑

我想看到’rolled up’的大小到列出的目录中的父目录。我不想看到子目录或其内容或大小。

最佳解决方案

我想最简单的方法是键入ls -lls -lh,它将以human-readable格式(KB,MB等)提供文件大小。

如果’recursively’表示列出所有后续文件夹,例如:

/foo //foo /bar /….

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

通过输入man ls可以找到有关ls的更多信息

更新:

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

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

-h适用于human-readable --apparent-size是另一种显示尺寸的方法,如前所述--max-depth是您想要归结的子文件夹的级别。

次佳解决方案

apt-get install ncdu

files,file-size,ubuntu

它也是交互式的,所以如果你想检查子文件夹只是UP,DOWN和Enter。

第三种解决方案

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

du -hs directory/*

第四种方案

另请查看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

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

第五种方案

由于您没有特别提及您需要terminal-based解决方案,我认为列表中缺少baobab a.k.a.磁盘使用率分析器。

默认情况下,它安装在Ubuntu中,可以在一个漂亮的图形用户界面中完成您想要的功能,并能够深入查看目录层次结构。

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

files,file-size,ubuntu

第六种方案

terminal solutiondu命令:

du --all --human-readable --apparent-size

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

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

  • --all-a – 显示文件的大小,而不仅仅是目录

  • --human-readable-h – 以人类可读的格式显示大小,例如: 10K(10千字节),10(10字节)

  • --apparent-size – 显示实际文件大小,而不是磁盘使用的大小。

第七种方案

当涉及simlinks时,这似乎可以解决问题。

ls -LRlh

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2963.html,未经允许,请勿转载。