mac设置文件权限的问题
# 前言
在使用terminal2
发布博客的时候,执行
cd ~/Project/vuepress-jacky-blog;npm run dev'
1
执行 npm run dev
报错:
Error: EACCES: permission denied,
unlink '/vuepress-jacky-blog/node_modules/@vuepress/core/.temp/app-enhancers/0.js'
1
2
2
说明缺少权限,一般情况下,只需在原有指令前添加sudo
,如 sudo npm run dev
但是也可以给文件夹添加权限
,在MAC
中添加权限
的方式如下:
# 解决方案
文件夹权限设置:
chmod -R 777 testfile
1
文件权限设置:
chmod 777 testfile
1
# 777 数字含义
文件或目录的访问权限分为只读
,只写
和可执行
三种,在终端中其所对应的英文缩写:rwx
。
7
的含义7
转为二进制111
,分别对应这rwx
这三个权限。通过4、2、1的组合,得到以下几种权限:0(没有权限) 4(读取权限) 5(4+1 | 读取+执行) 6(4+2 | 读取+写入) 7(4+2+1 | 读取+写入+执行)
1
2
3
4
5777
的含义分别对应三类使用者的权限。
u:表示文件所有者 g:表示同组用户 o:表示其它用户 a:表示所有用户
1
2
3
4
# 拓展: chomd 指令学习
chmod [who] [opt] [mode] 文件/目录名
# who
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
# opt
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
# mode 权限
r:可读
w:可写
x:可执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
例如:给shell
脚本给deploy.sh
的执行权限
chmod a+x deploy.sh
1
当然也可以使用数字设定法:
# 给所有用户添加可执行权限
# _ _ x | _ _ x | _ _ x
# 0 0 1 | 0 0 1 | 0 0 1
# 简化数字指令: 111
chmod 111 deploy.sh
1
2
3
4
5
2
3
4
5
# 参考资料
编辑 (opens new window)
上次更新: 2022/04/06, 15:04:00