2 回答

TA貢獻1827條經驗 獲得超8個贊
您可以使用syscall.Statfs。它的參數是一個路徑名和一個指向Statfs_t結構的指針。它用包含路徑名指定的文件或目錄的文件系統的統計信息填充結構。通常您會使用.或/或掛載點的路徑名。
這是一個以路徑名作為參數并顯示 inode 信息的 Go 程序。
package main
import (
"fmt"
"os"
"syscall"
)
func main() {
var statfs syscall.Statfs_t
path := os.Args[1]
if err := syscall.Statfs(path, &statfs); err != nil {
fmt.Fprintf(os.Stderr, "Cannot stat %s: %v\n", path, err)
os.Exit(1)
}
fmt.Printf("Inodes: total %d, free %d\n", statfs.Files, statfs.Ffree)
}

TA貢獻1752條經驗 獲得超4個贊
在你提到的系統上,macOs 和 Ubuntu,你可以使用
func Fstatfs(fd int, buf *Statfs_t) (err error)
.
假設調用沒有錯誤,輸入參數*unix.Statfs_t
將被更新。unix.Fstatfs
unix.Statfs_t.Files
和分別是對應于調用的第一個參數unix.Statfs_t.Ffree
的文件系統的 inode 總數和空閑 inode 數。fd
unix.Fstatfs
- 2 回答
- 0 關注
- 184 瀏覽
添加回答
舉報