linux下 chmod +x 的意思及作用解析

时间:2024-03-11 17:53:15

  在工作中编写 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 u+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。