编写一个shell脚本来计算目录中每个项目的大小?

时间:2016-07-21 09:57:14

标签: linux shell

我想编写一个shell脚本来计算每个项目文件夹在我的服务器上占用多少空间,假设我有一个Home文件夹,其中有很多项目文件夹,而不是每次都想写du -sh "project name"在一个文件中相应地计算它,如:

ABC 40 Gb
XYZ 60 GB

3 个答案:

答案 0 :(得分:1)

一个简单的脚本,如:

#!/bin/sh
du -sh project1 project2 project3

答案 1 :(得分:0)

一个简单的find命令就足够了: -

find /your/path -maxdepth 1 -mindepth 1 -type d -exec du -sh "{}" \;

请参阅此man find页面,了解如何使用这些选项。

总结选项: -

  • -type d& -maxdepth 1仅查找上述路径中的文件夹/your/path在一个文件夹级别
  • 感谢下面的frist's建议,添加-mindepth 1标记可以避免重新计算所有文件夹的大小。
  • -execdu -sh返回的每个目录上运行find命令。每个目录由{}标识,并添加双引号以保留原始目录名称
  • \;为每个目录运行一次命令。

示例输出: -

4.0K ./myfolder
24K  ./destfolder

答案 2 :(得分:0)

为什么你不干脆

vtk

编辑:没有du命令

du -hs /path/to/projects/dir/*