github.com/elastic/gosigar@v0.14.3/examples/df/df.go (about) 1 // Copyright (c) 2012 VMware, Inc. 2 3 package main 4 5 import ( 6 "fmt" 7 "os" 8 9 "github.com/elastic/gosigar" 10 ) 11 12 const output_format = "%-15s %4s %4s %5s %4s %-15s\n" 13 14 func main() { 15 fslist := gosigar.FileSystemList{} 16 err := fslist.Get() 17 if err != nil { 18 fmt.Printf("Failed to get list of filesystems: %v", err) 19 os.Exit(-1) 20 } 21 22 fmt.Fprintf(os.Stdout, output_format, 23 "Filesystem", "Size", "Used", "Avail", "Use%", "Mounted on") 24 25 for _, fs := range fslist.List { 26 dir_name := fs.DirName 27 28 usage := gosigar.FileSystemUsage{} 29 30 usage.Get(dir_name) 31 32 fmt.Fprintf(os.Stdout, output_format, 33 fs.DevName, 34 gosigar.FormatSize(usage.Total), 35 gosigar.FormatSize(usage.Used), 36 gosigar.FormatSize(usage.Avail), 37 gosigar.FormatPercent(usage.UsePercent()), 38 dir_name) 39 } 40 }