是否有可能在Unix中使用ls列出子目录的总大小及其所有内容,而不是通常的4K(我假设)只是目录文件本身?

total 12K
drwxrwxr-x  6 *** *** 4.0K 2009-06-19 10:10 branches
drwxrwxr-x 13 *** *** 4.0K 2009-06-19 10:52 tags
drwxrwxr-x 16 *** *** 4.0K 2009-06-19 10:02 trunk

在翻遍了手册之后,我一无所获。


当前回答

Du -sk * | sort -n将按大小对文件夹排序。当你想要清理空间时很有帮助。

或du -sh * | sort -h用于人类可读模式

其他回答

以人类可读的格式列出当前目录中最大的目录:

Du -sh * | sort -hr

一个更好的限制行数的方法是

Du -sh * | sort -hr | head -n10

在哪里可以增加-n标志的后缀来限制列出的行数

示例:

[~]$ du -sh * | sort -hr
48M app
11M lib
6.7M    Vendor
1.1M    composer.phar
488K    phpcs.phar
488K    phpcbf.phar
72K doc
16K nbproject
8.0K    composer.lock
4.0K    README.md

这样读起来更方便:)

在初始化脚本中放置。bashrc…根据需要调整def。

duh() {
  # shows disk utilization for a path and depth level
  path="${1:-$PWD}"
  level="${2:-0}"
  du "$path" -h --max-depth="$level"
}
du -S

du还有另一个有用的选项:-s,——separate-dirs告诉du不包含子目录的大小——在某些情况下很方便。

例1 -仅显示目录中的文件大小:

du -Sh  * 
3,1G    10/CR2
280M    10

例2 -显示了目录下的文件大小和子目录:

du -h  * 
3,1G    10/CR2 
3,4G    10

Du -sk * | sort -n将按大小对文件夹排序。当你想要清理空间时很有帮助。

或du -sh * | sort -h用于人类可读模式

你 -短信 * |品种编号

按大小输出