在工作中编写 dockerfile 的时候接触到chmod +x 这个命令,如下图:RUN chmod +x ./startPM2.sh
这是什么意思呢,因为对linux不大熟,没看懂,没关系,那我们就学习。
经过上网查询,引申太多,其实感觉总结一点作用就是:chmod +x 的意思就是给执行权限
LINUX下不同的文件类型有不同的颜色,这里
蓝色表示目录;
绿色表示可执行文件,可执行的程序;
红色表示压缩文件或包文件;
浅蓝色表示链接文件;
灰色表示其它文件;
红色闪烁表示链接的文件有问题了
黄色表示设备文件
因此如果只是普通的上传startPM2.sh这个文件,那么上传之后也就是一个普通的文件,不能执行
你不 chmod +x 颜色就是普通文本的颜色,+x 之后颜色就是绿色的了。chmod -x 就是普通文本颜色,普通文本颜色是不能执行的,执行会报错;chmod +x 就是绿色的可执行文件了。(注意:+x,没有空格哦)
实践一下来看:
补充知识:
就是设置谁拥有执行这个文件权限
chmod +x 和 chmod a+x 是一样的,一般没有明确要求,可以就用chmod +x
chmod a+x tomcat
u 代表用户
g 代表用户组
o 代表其他
a 代表所有
这意味着chmod u+x somefile 只授予这个文件的所属者执行的权限,而 chmod +x somefile 和 chmod a+x somefile 是一样的 。Just doing +x will apply it to all flags: [u]ser, [g]roup, [o]thers。