1. 程式人生 > >golang中如何判斷文件是否有可執行權限

golang中如何判斷文件是否有可執行權限

turn 判斷 pac pri == pre 十進制 golang name

本文介紹在Go語言如何檢查文件的權限。以檢查文件可執行權限為例。

在文件系統中,文件的屬性使用uint32表示。

例如
-rwxrwxrwx

判斷可執行權限,也就是檢查文件mode是否有:

--x--x--x

表示成十進制數就是73.

具體代碼如下

package main


import (
    "log"
    "os"
)



func main() {

    file_name := "tmp.file"

    file_info, err := os.Stat(file_name)
    if err != nil {
        log.Println("os.Stat failed:", err)
        return
    }

    file_mode := file_info.Mode()
    log.Println("file_mode:", file_mode)

    perm := file_mode.Perm()
    log.Println("permission:", uint32(perm))

    // 73: 000 001 001 001
        flag := perm & os.FileMode(73) 

    if uint32(flag) == uint32(73) {
        log.Println("exec permission")
    }   

}

golang中如何判斷文件是否有可執行權限