使用filepath.walk软件包的目录大小与du -sh系统命令

时间:2019-05-07 05:09:25

标签: linux go

需要查找目录的实际大小,其中有多个目录,这些目录应等于“ du -sh”系统命令。使用filepath.Walk来找到它,但似乎跳过了。和..在每个目录中。因此,在命令行中使用“ du -sh”和使用的文件路径包会导致大小差异。

func DirSize(path string) (int64, error) {
    var size int64
    err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error {
        if err != nil {
            return err
        }
        size += info.Size()

        return err
    })
    return size, err
}

与du -sh给出的值相同,但尺寸较小

0 个答案:

没有答案