为了账号安全,请及时绑定邮箱和手机立即绑定

Go 中 Linux 上的八进制文件 perm 位

Go 中 Linux 上的八进制文件 perm 位

Go
皈依舞 2023-06-05 17:45:24
我正在尝试以八进制表示形式获取文件权限位。下面的代码将其打印为字符串。是否有以八进制或整数打印的 API?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$ 
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

例如,


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))

}

输出:


-rw-rw-r--

664

0664

664

0664


查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信