如何在Go中获取文件inode?
我已经可以这样打印了:
file := "/tmp/system.log" fileinfo,_ := os.Stat(file) fmt.Println(fileinfo.Sys()) fmt.Println(fileinfo)
看看Go实现,显然正在寻找一些stat方法,但我仍然无法找到Unix系统的结构定义.
如何直接获取inode值?
您可以使用类型断言从fileinfo获取底层的syscall.Stat_t
原文链接:https://www.f2er.com/bash/385191.htmlpackage 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) }