go基础库之更改文件权限

本文将介绍如何以编程的方式更改文件权限。

更改文件权限

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函数,该函数也是如此,但不需要在代码中获取文件类型。