我们说我在目录上做os.Stat()
:
func main() {
fi, _ := os.Stat("/tmp")
println(fi.Size())
}
// 548
// Program exited.
https://play.golang.org/p/NIzGMHRYfi
[FileInfo].Size()
值到底意味着什么?这不是文件大小,所以我猜猜文件的数量是多少?信息节点?我无法在任何地方找到明确的答案,所以也许有人可以启发我?
答案 0 :(得分:2)
FileInfo提及
// length in bytes for regular files; system-dependent for others
所以它真的取决于执行环境 例如,请参阅“Where does ext4 store directory sizes?”
在该示例中,目录统计大小返回4096字节 这是目录本身的实际大小,而不是它包含的内容。
stat命令不提供查询文件系统对象(目录或文件)大小以外的任何设施。
stat
根本无法返回多个尺寸 - 因此它只能返回目录本身的大小,而不能返回其内容。
当您拥有硬链接文件时,“包含内容的目录大小”也会变得不那么清晰。