本文将介绍如何以编程的方式更改文件权限。
更改文件权限
Golang 版本
1.12.1
前言
本文将介绍如何以编程的方式更改文件权限。
实现
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Create("testfile")
if err != nil {
panic(err)
}
defer f.Close()
// 获取当前权限
fi, err := f.Stat()
if err != nil {
panic(err)
}
fmt.Printf("文件权限 %v\n", fi.Mode())
// 更改权限
err = f.Chmod(0777)
if err != nil {
panic(err)
}
fi, err = f.Stat()
if err != nil {
panic(err)
}
fmt.Printf("文件权限 %v\n", fi.Mode())
}
$ go run main.go
文件权限 -rw-rw-rw-
文件权限 -rwxrwxrwx
原理
os
包中的File
类型的Chmod
方法可用于更改文件权限。 上面的示例只是创建文件并将权限更改为0777
。
请注意,fi.Mode()
被调用两次,因为它提取了文件当前状态的权限(os.FileMode
)。
更改权限的最短方法是使用os.Chmod
函数,该函数也是如此,但不需要在代码中获取文件类型。