UNIX:仅使用目录查看磁盘使用情况统计信息

时间:2015-02-27 20:54:27

标签: unix du

我正在使用菜单和一些选项来处理脚本,您可以选择这些选项来执行操作。我目前停留在最后一个选项上,因为它要求您以人类可读的格式计算主目录中所有目录的磁盘使用情况统计信息。

我知道该命令对于磁盘使用和人类可读的格式是什么,但我只需要帮助列出主目录中的目录名称。我希望我可以将这些名称放入变量中以与DU命令一起使用。

有关如何解决此问题的任何建议?

2 个答案:

答案 0 :(得分:0)

您可以使用以下行列出主目录中的目录: ls / home / user -d * / 我真的不知道为什么你需要把它们放在一个变量中,但用du管道它们就像这样容易 ls / home / user -d * / | du -h

答案 1 :(得分:0)

您需要调整find选项:

for i in $(find "$HOME" -maxdepth 1 -type d | tail -n+2); do 
    du -hs "$i"
done

您可以通过移除对.的调用,将tail链接用作家庭总数:

for i in $(find "$HOME" -maxdepth 1 -type d); do 
    du -hs "$i"
done

sizedir names同时放入变量(或两个)的最简单方法是将find/du -hs命令的结果写入临时文件,然后读取sizedirnames加入关联数组(BASH 4+)或将size读入索引数组并阅读{ {1}}使用dir names命令进入第二个索引数组。这可以通过在子shell中执行上面的代码来完成:

read

然后只需( for i in $(find "$HOME" -maxdepth 1 -type d | tail -n+2 ); do du -hs "$i"; done ) > tmpfile read的内容放入您选择的数组中。如果您有任何问题,请告诉我。