命令格式

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
看完仍然不是理解,知道的朋友麻烦在评论中告知一下,谢谢啦

Linux 命令之 chmod的更多相关文章

  1. 我用过的Linux命令之chmod

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  2. Linux命令之chmod、chown

    一.chmod命令 chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. ...

  3. linux 命令——27 chmod

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法. 一种是包含字母和操作符表达式的文字设定法: 另一种是包含数字的数字设定法. Linux系统中 ...

  4. linux 命令:chmod权限设置命令

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  5. linux命令之------Chmod命令

    Chmod命令 1)作用:linux和unix的文件调用权限分为三级:文件拥有者/群组/其他.利用chmod可以控制文件如何被他人所调用.(主要就是修改文件夹,文件的权限) 2)U表示该文件的拥有者, ...

  6. linux命令中chmod 777 以及drwxr-xr-x分别代表什么意思

    最近跟一个运维人员学了点新东西,感觉以前没怎么注意,但现在感觉很有用,特来记录一下. linux使用==ll==命令列出列表的时候,前面总是有一堆drwxr-xr-x ,这些代表什么意思从来还没有去在 ...

  7. linux命令:chmod

    1.命令介绍: chmod用来改变系统文件或目录的相关权限,可读,可写,可执行等. 2.命令格式: chmod [选项] 模式 文件 3.命令参数: 必要参数:-c 当发生改变时,报告处理信息-f 错 ...

  8. linux命令之chmod 2011.11.24转载于网络

    使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案 ...

  9. Linux命令之chmod 及+s 参数(临时以所有者权限执行)

    转自: http://blog.csdn.net/shaobingj126/article/details/7031221 chmod用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.该 ...

随机推荐

  1. hdu 1007 Quoit Design 题解

    原题地址 题目大意 查询平面内最近点对的距离,输出距离的一半. 暴力做法 枚举每一个点对的距离直接判断,时间复杂度是 $ O(n^2) $,对于这题来说会超时. 那么我们考虑去优化这一个过程,我们在求 ...

  2. 浅谈PHP反序列化漏洞原理

    序列化与反序列化 序列化用途:方便于对象在网络中的传输和存储 0x01 php反序列化漏洞 在PHP应用中,序列化和反序列化一般用做缓存,比如session缓存,cookie等. 常见的序列化格式: ...

  3. charles 镜像工具

    本文参考:charles 镜像工具 镜像工具会在你浏览指定网站时,把抓取到的文件克隆一份,并保存在你指定的路径下: 注意:如果你配置是www.aaa.com; 那么只会抓这个域名下的文件,这个域名如果 ...

  4. Tomcat乱码

    日志乱码修改logging.properties文件中encoding=UTF-8 vim logging.properties encoding=utf-8 wq!保持退出,重启tomcat 乱码O ...

  5. Kubernetes Dashboard 终结者:KubeSphere

    原文链接:Kubernetes Dashboard 终结者:KubeSphere 2018 年 7 月份,青云在 Cloud Insight 云计算峰会上推出了一款全新的容器平台--KubeSpher ...

  6. HTTP协议的运行流程

    1.HTTP协议的流程是什么样的呢? (1)http客户端发起请求,创建端口 (2)http服务器在端口监听客户端请求 (3)http服务器向客户端返回状态和内容 更详细的请参考大神:https:// ...

  7. Elasticsearch(10) --- 内置分词器、中文分词器

    Elasticsearch(10) --- 内置分词器.中文分词器 这篇博客主要讲:分词器概念.ES内置分词器.ES中文分词器. 一.分词器概念 1.Analysis 和 Analyzer Analy ...

  8. Ubuntu server16.04安装配置驱动418.87、cuda10.1、cudnn7.6.4.38、anaconda、pytorch超详细解决

    目录 安装GCC 安装NVIDIA驱动 1. 卸载原有驱动(没装跳过) 2. 禁用nouveau 3. 安装NVIDIA显卡驱动 安装CUDA10.1 安装cudnn 安装anaconda 安装ten ...

  9. 死磕 java同步系列之Phaser源码解析

    问题 (1)Phaser是什么? (2)Phaser具有哪些特性? (3)Phaser相对于CyclicBarrier和CountDownLatch的优势? 简介 Phaser,翻译为阶段,它适用于这 ...

  10. Spring boot 梳理 - @Conditional

    @Conditional(TestCondition.class) 这句代码可以标注在类上面,表示该类下面的所有@Bean都会启用配置,也可以标注在方法上面,只是对该方法启用配置. spring框架还 ...