如何列出目录中文件和目录的递归文件大小?
如何列出目录中的所有文件及其递归文件大小?
– -编辑
我想看到大小’卷起’到列出的目录中的父目录。 我不想看到子目录或其内容或大小。
我想最简单的方法是键入ls -l
或ls -lh
,它将以人类可读的格式(KB,MB等)提供文件大小。
如果’递归’表示列出所有后续文件夹,例如:
/富/
/ foo / bar / ….
然后你还应该添加参数R
,如ls -lR
或ls -lhR
输入man ls
可以找到有关ls
更多信息
更新:
Lekensteyn提出的以下命令可能会完成这项工作:
du -h --max-depth=1
-h
是人类可读的
--apparent-size
是另一种显示大小的方法, --apparent-size
--max-depth
是您想要归结到的子文件夹的级别。
apt-get install ncdu
它也是交互式的,所以如果你想检查子文件夹只是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
可以在手册页中找到更多选项。
由于您没有特别提及您需要基于终端的解决方案,我认为列表中缺少baobab aka Disk Usage Analyzer。
默认情况下,它安装在Ubuntu中,并且可以在一个漂亮的图形UI中完成您想要的function,并且能够深入查看目录层次结构。
除了显示带有大小的目录列表外,它还显示了文件系统使用的环形或树形图,这对于可视化占用最多空间的目录非常有用。
终端解决方案是du
命令:
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
要获取排序列表,请将所有内容放入MB并排序:
du -m * | sort -n
或者使用DiskReport等工具生成完整磁盘树的报告。
另一个带有find
和排序的终端解决方案(通过文件大小,第1列)
$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1 178 ./somefile.txt 219 ./somefile2.txt 4096 ./c 4096 ./cs2 4096 ./perl 4096 ./python 4096 ./random 4096 ./sh