根据FileInfo的手册页,stat()在Go中查看文件时,以下信息可用:
stat()
type FileInfo interface { Name() string // base name of the file Size() int64 // length in bytes for regular files; system-dependent for others Mode() FileMode // file mode bits ModTime() time.Time // modification time IsDir() bool // abbreviation for Mode().IsDir() Sys() interface{} // underlying data source (can return nil) }
如何在Go中检索到特定文件的硬链接数量?
UNIX(<sys/stat.h>)定义st_nlink(“硬链接的引用计数”)作为stat()系统调用的返回值。
<sys/stat.h>
st_nlink
例如,在Linux上,
package main import ( "fmt" "os" "syscall" ) func main() { fi, err := os.Stat("filename") if err != nil { fmt.Println(err) return } nlink := uint64(0) if sys := fi.Sys(); sys != nil { if stat, ok := sys.(*syscall.Stat_t); ok { nlink = uint64(stat.Nlink) } } fmt.Println(nlink) }
输出:
1个