Reputation: 205
I am trying to get file permission bits in Octal representation. The below code prints it as string. Is there an API to print in Octal or int?
import "os"
import "fmt"
func main() {
m, _ := os.Stat("test.go")
perm := m.Mode().Perm()
fmt.Println(perm)
}
$:~/gocode/ws/gocode$ go run perm.go
-rw-rw-r--
@:~/gocode/ws/gocode$
Upvotes: 2
Views: 1126
Reputation: 166569
For example,
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
fi, err := os.Stat("test.go")
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
perm := fi.Mode().Perm()
fmt.Println(perm)
fmt.Printf("%o\n", perm)
fmt.Printf("%#o\n", perm)
fmt.Println(strconv.FormatUint(uint64(perm), 8))
fmt.Println("0" + strconv.FormatUint(uint64(perm), 8))
}
Output:
-rw-rw-r--
664
0664
664
0664
Upvotes: 4