go file 文件权限

2年前 (2022) 程序员胖胖胖虎阿
230 0 0

一、文件权限简介

1、我们使用 ls -lih 得到本目录详细的文件详情

➜  file git:(master) ✗ ls -lih 
57935473 -rw-r--r--  1 zhanghaisheng  staff    12B Aug 16 15:23 a.txt
57963493 -rw-r--r--  1 zhanghaisheng  staff   309B Aug 17 09:43 dir_test.go

整理如下:

inode 权限 硬链接个数 属主 所归属的组 文件的大小 最后访问或修改时间 文件名
57935473 -rw-r--r-- 1 zhanghaisheng staff 12B Aug 16 15:23 a.txt
57963493 -rw-r--r-- 1 zhanghaisheng staff 309B Aug 17 09:43 dir_test.go

2、文件的权限

linux 下有2种文件权限表示方式,即“符号表示”和“八进制表示”。

1、所有者符号表示方式:

 -      ---         ---        ---
type   owner       group      others

任何文件都有使用者,群组,other的概念。
文件的使用者:
1 拥有者
2 所在群组的用户
3 其他组的用户

2、文件权限符号表示方式:
这里简单的说一下 r w x 分别代表的是什么意思
r表示可读
w表示可写
x表示可执行
如果没有那一个权限,用 - 代替
例如:-rw-r--r--
权限所代表的是r = 4, w = 2, x = 1

二、go读取权限

func TestStat(t *testing.T) {
    f, err := os.Stat("a.txt")
    if errors.Is(err, os.ErrNotExist) {
        t.Log("文件不存在")
    } else {
        t.Log(f.Mode())
    }
}

输出:

-rw-r--r--
版权声明:程序员胖胖胖虎阿 发表于 2022年9月4日 下午1:00。
转载请注明:go file 文件权限 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...