输出结果du -sh * | sort -h
按大小排序列出了所有文件和目录。但问题是,输出结果没有区分目录和文件。
例如:
15K file1backup
16K Desktop
du 有没有什么选项可以更容易地区分文件和目录?
答案1
使用 OP 的原始命令我能得到的最接近的结果是:
ls -p | xargs -I{} du {} -sh | sort -h
..现在看来有效了。
答案2
答案3
不,我读手册时说 du 不区分文件和目录。
你可以用类似这样的东西来区分自己
find . -maxdepth 1 -type f -print0 | du -sh --files0-from -
对于文件和
find . -maxdepth 1 -type d -print0 | du -sh --files0-from -
用于目录。根据需要调整其他参数。
答案4
你真的应该试试手册。简单地做du -h
只会执行你实际上必须执行的目录添加一个参数让它也能执行文件操作(-a
)。你的命令执行文件操作的原因是因为*
。
如果您只希望对顶级目录进行排序,最简单的方法可能是:
du -h | grep -v '[^.]/' | sort -h