如何列出目录中的所有文件及其递归文件大小?
- -编辑
我想看到大小“汇总”到列出目录中的父目录。我不想看到子目录或其内容或大小。
如何列出目录中的所有文件及其递归文件大小?
- -编辑
我想看到大小“汇总”到列出目录中的父目录。我不想看到子目录或其内容或大小。
Answers:
我猜最简单的方法是键入ls -l
,否则ls -lh
它将以人类可读的格式(KB,MB等)提供文件大小。
如果“递归”表示列出所有后续文件夹,例如:
/ foo /
/ foo / bar /...。
然后,您还应该添加参数R
,例如ls -lR
或ls -lhR
ls
可以通过键入找到更多信息man ls
更新:
Lekensteyn建议的以下命令可能会完成此任务:
du -h --max-depth=1 <folder>
-h
对人类可读的
--apparent-size
是另一种显示大小的方法,正如已经说明的那样,这
--max-depth
是您要转到的子文件夹的级别。
apt-get install ncdu
它也是交互式的,因此如果您要检查子文件夹,只需向上,向下,然后按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
可以在手册页中找到更多选项。
-h
以人类可读的方式显示尺寸,例如tree -s
甲终端溶液是du
命令:
du --all --human-readable --apparent-size
(简写:du -ah --apparent-size
)
du
显示每个文件和目录的磁盘使用情况。选项说明:
--all
,-a
-还显示文件的大小,而不仅仅是目录--human-readable
,-h
-以人类可读的格式显示大小,例如10K
(10 KB),10
(10字节)--apparent-size
-显示实际文件大小,而不是磁盘使用的大小。--max-depth=1
--max-depth=1
可以简称为-d1
。
带有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