美文网首页
Linux命令: chmod

Linux命令: chmod

作者: 闲云野鹤_23dd | 来源:发表于2020-11-24 19:36 被阅读0次

chmod

原单词change mode(改变模式)
chmod是一个修改文件权限的命令,有两种设置方法,一种是数字,一种是符号。

语法

通过数字设置权限

chmod 三个身份的权限分数 文件名/目录名

例子:
chmod 755 a.file
chmod 644 a.file

通过符号设置权限

chmod 身份+/-/=权限 文件名/目录名

例子:
chmod a+x a.file
chmod o+rwx a.file

-R 参数

如果修改的是一个目录,并且希望所有文件与子目录进行相同的权限变更,可以加上 -R参数

例子:
chmod -R 755 adir
chmod -R o+rwx adir

实战

进入root目录
新建chmodTest文件夹
进入chmodTest目录
使用vim编辑a.sh文件(当a.sh文件不存在时,vim会帮我们创建一个):
vim a.sh
输入 echo 你好,世界
(a.sh就是一个简单的shell脚本,可以直接在Linux系统中执行,执行效果就是打印 你好,世界)


image.png image.png

新建adir目录,将a.sh复制到 adir

使用 ll 查看文件的权限


image.png image.png

可以看到a.sh的属主权限是 读写,属组和其他用户权限都是只读权限

为a.sh文件所有用户添加执行权限

chmod a+x a.sh
查看文件权限,可以看到加了执行权限后,文件变成 绿色(可执行)
使用./a.sh 执行脚本后,打印出了: 你好,世界


image.png

其他参数介绍:
u:表示用户,即文件或目录的所有者。
g:表示同组用户,即与文件属主有相同组ID的所有用户。
o:表示其它用户。
a:表示所有用户,它是系统默认值。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

为adir目录及所有子目录和文件 添加777权限,即所有身份的用户都拥有读写执行权限

chmod -R 777 adir


image.png

可以看到 adir目录 和 adir目录下 a.sh权限都变成了rwxrwxrwx

将adir目录下 a.sh文件,去掉组用户的写权限,去掉其他用户的写权限

chmod -R g-w,o-w adir/a.sh


image.png

相关文章

网友评论

      本文标题:Linux命令: chmod

      本文链接:https://www.haomeiwen.com/subject/frncvktx.html