为了账号安全,请及时绑定邮箱和手机立即绑定

来自 os.Stat/Lstat 的目录大小

来自 os.Stat/Lstat 的目录大小

Go
月关宝盒 2021-11-22 15:09:41
假设我os.Stat()在目录上执行操作:func main() {    fi, _ := os.Stat("/tmp")    println(fi.Size())}// 548// Program exited.https://play.golang.org/p/NIzGMHRYfi[FileInfo].Size()值究竟代表什么?这不是文件大小,所以我在猜测文件数量之类的东西?节点?我在任何地方都找不到明确的答案,所以也许有人可以启发我?
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

文件信息提及

// length in bytes for regular files; system-dependent for others

所以这真的取决于执行环境。
参见例如“ ext4 在哪里存储目录大小? ”

在该示例中,目录统计大小返回 4096 字节。
这是目录本身的实际大小,而不是它包含的内容。

stat 命令不提供查询除文件系统对象(目录或文件)大小之外的任何内容的工具。

stat根本没有办法返回多个大小——所以它只能返回目录本身的大小,而不是其内容的大小。
当您有硬链接文件时,“包含内容的目录大小”也变得不太清楚。


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信