• Linux 命令之 chmod


    命令格式

    chmod有以下三种格式

    • chmod [-cfvR] MODE[,MODE]... FILE...
    • chmod [-cfvR] OCTAL-MODE FILE...
    • chmod [-cfvR] --reference=RFILE FILE...

    -cfvR

    这四个参数的作用如下

    • -c: 显示权限有变更的信息
    • -f: 不显示大多数错误信息
    • -v: 显示所有权限变更的详细信息
    • -R: 递归操作(对于目录及目录下的所有文件与子目录进行相同的操作)

    MODE

    MODE的格式为 角色 + 操作 + 权限

    其中角色有ugoa4种(角色可省略,默认为a):
    * u: 文件拥有者
    * g: 与文件拥有者同属的用户组(group)
    * o: 除了 u/g 以外的其它人
    * a: 所有人

    操作有+-=3种:
    * +: 增加权限
    * -: 删除权限
    * =: 取消权限

    权限有rwxX4种:
    * r: 读取权限
    * w: 写入权限
    * x: 执行权限
    * X:

    有了以上的知识点补充,我们给出几个常用的MODE写法:

    • chmod g+x filename 表示给用户组添加x权限
    • chmod ug=rwx filename 表示同时将文件所有者与用户组的权限设置为 rwx 权限
    • chmod o-x filename 表示取消 其它用户的 x 权限
    • chmod ug=rwx,o-x filename 等价于同时执行了第二和第三行的配置
    • chmod +w filename 给所有人增加 w 权限(省略角色,则视为 a )

    OCTAL_MODE

    除了MODE, chmod还支持 OCTAL_MODE(八进制模式), OCTAL_MODE 使用3个八进制数来分别表示 ugo 的权限。
    每个八进制数代表一个对象的 rwx 的设置。
    将 rwx 的设置分别用三个二进制数表示,有权限则为1,无权限则为0,再将这3个数组成的二进制数转换为八进制。
    具体对应关系如下:

    权限 八进制
    --- 0
    --x 1
    -w- 2
    -wx 3
    r-- 4
    r-x 5
    rw- 6
    rwx 7

    (最好在看到数字的时候就能够知道对应的权限是什么,会大大提高工作的效率。)

    例如 chmod 754 filename等价于 chmod u=rwx,g=rx,o=r filename

    MODE 与 OCTAL_MODE 的区别在于:
    OCTAL_MODE 可以方便地进行权限设置,书写更简单,但如果没有熟练记忆的话计算的过程会影响设置权限的速度。
    MODE 书写起来相对繁琐,但可读性更高,而且除了进行权限的设置,还支持权限的灵活增减,不需要关心无需改变的权限情况。

    参照已有文件的权限进行设置权限--reference

    假设我们需要给文件 file_a 设置权限,此时发现同目录下的文件 file_b 的权限正是我们要设置给 file_a 的
    此时我们就可以使用如下命令进行快速地配置

    chmod --reference=file_b file_a

    其它

    查看 chmod 的版本
    chmod --version

    查看 chmod 的帮助信息
    chmod --help

    问题

    -X (大X)不是特别明白,文章的描述如下execute/search only if the file is a directory or already has execute permission for some user
    看完仍然不是理解,知道的朋友麻烦在评论中告知一下,谢谢啦

  • 相关阅读:
    Android深度探索-卷1 第三章
    Android深度探索-卷1 第四章
    Android深度探索-卷1 第二章
    Android深度探索-卷1 第一章
    硬件抽象层HAL
    嵌入式Linux调试技术
    蜂鸣器驱动
    控制发光二极管
    搭建S3C6410开发板的测试环境
    统计单词个数
  • 原文地址:https://www.cnblogs.com/1lin24/p/11686023.html
Copyright © 2020-2023  润新知