unix – 在Go中获取文件inode

前端之家收集整理的这篇文章主要介绍了unix – 在Go中获取文件inode前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Go中获取文件inode?

我已经可以这样打印了:

@H_404_3@file := "/tmp/system.log" fileinfo,_ := os.Stat(file) fmt.Println(fileinfo.Sys()) fmt.Println(fileinfo)

看看Go实现,显然正在寻找一些stat方法,但我仍然无法找到Unix系统的结构定义.

如何直接获取inode值?

代码中的哪个文件定义了Sys()的结构?

您可以使用类型断言从fileinfo获取底层的syscall.Stat_t @H_404_3@package main import ( "fmt" "os" "syscall" ) func main() { file := "/etc/passwd" fileinfo,_ := os.Stat(file) fmt.Printf("fileinfo.Sys() = %#v\n",fileinfo.Sys()) fmt.Printf("fileinfo = %#v\n",fileinfo) stat,ok := fileinfo.Sys().(*syscall.Stat_t) if !ok { fmt.Printf("Not a syscall.Stat_t") return } fmt.Printf("stat = %#v\n",stat) fmt.Printf("stat.Ino = %#v\n",stat.Ino) }

猜你在找的Bash相关文章