是否有可能在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
在翻遍了手册之后,我一无所获。
是否有可能在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用于人类可读模式
你 -短信 * |品种编号
按大小输出