更方便的在微信公众号阅读文章可以关注公众号:海生的go花园
一、文件权限简介
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--
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。