mac 系统下使用 chmod 命令修改文件权限

PC 端修改文件访问权限算是比较常用的操作,在安装部分软件时经常需要使用到。在 Mac 系统的终端上修改文件权限使用的是 Linux 中的 chmod 命令。这里详细介绍一下该命令的相关使用。

也可以直接通过 man chmod 在终端工具上查看该命令的帮助手册。

查看文件权限

ls -l 命令可以查看当前目录下所有文件的访问权限,也可以查看指定文件。比如,查看 Tomcat bin 目录中的 startup.sh 文件的访问权限时:

yifeng:bin yifeng$ ls -l startup.sh
-rwxrwxrwx@ 1 yifeng staff 1904 9 27 18:32 startup.sh

上面打印的文件信息中每一部分所代表的含义,分别对应如下解释:

文件类型和访问权限 文件数量 所属用户 所在群组 文件大小 修改日期(月 日 时 分) 文件名称

第一部分详细说明一下,就以 “-rwxrwxrwx” 为例:第一个符号代表文件类型, “-” 符号表示该文件是非目录类型,“d” 符号表示目录类型;( 末尾的 @ 符号表示文件拓展属性,属于文件系统的一个功能。)

后面九个字母分为三组,从前到后每组分别对应所属用户(user)、所属用户所在组(group)和其他用户(other)对该文件的访问权限;

每组中的三个字符 “rwx” 分别表示对应用户对该文件拥有的可读/可写/可执行权限,没有相应权限则使用 “-” 符号替代。

修改访问权限

根据上面查看权限部分的介绍,修改权限也应包括访问用户、添加或取消操作、具体权限和访问文件,即:

chmod 用户+操作+权限 文件

用户部分:使用字母 u 表示文件拥有者(user),g 表示拥有者所在群组(group),o 表示其他用户(other),a 表示全部用户(all,包含前面三种用户范围);

操作部分:“+” 符号表示增加权限,“-” 符号表示取消权限,“=” 符号表示赋值权限;

权限部分:“r” 符号表示可读(read),“w” 表示可写(write),“x” 表示可执行权限(execute);

文件部分:如不指定文件名,表示操作对象为当前目录下的所有文件。

还以前面 startup.sh 文件为例,将拥有者所在群组和其他用户改为可读可写权限、取消可执行权限的使用方式为:

chmod go-x startup.sh

然后使用 ls 命令查看权限,

yifeng:bin yifeng$ ls -l startup.sh
-rwxrw-rw-@ 1 yifeng staff 1904 9 27 18:32 startup.sh

可以看到,文件访问权限已经按照要求发生对应变化。

如果是复杂一点操作的话,可以同时使用多种操作符添加和取消权限,并且可以使用 “,” 符号同时对不同用户范围修改权限,比如:

chmod g+x,o+x-w startup.sh

还有一种简单的写法,使用数字表示权限部分的读/写/可执行权限类型。数字和权限类型的对应关系,可以从这张图中直观地看出来:

即,1 表示可执行,2 表示可写,4 表示可读。每种类型数字相加所得到的值表示交叉部分的公共类型。

这样的话,使用三个数字便可以分别代表三种不同用户类型的权限修改结果。比如,修改所有用户的访问权限均为可读可写可执行(rwx)的话,这样使用即可:

chmod 777 startup.sh

三个数字从前到后分别表示 u、g、o 三种用户类型的访问权限,使用时按需修改。

补充一点,有时候需要递归修改目录文件及其子目录中的文件类型,可以使用 -R 选项。

总结

以上所述是小编给大家介绍的mac 系统下使用 chmod 命令修改文件权限,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!