一、命令介绍

chmod 命令,是Linux管理员最常用的命令之一,用于修改文件或目录的访问权限。

Linux系统中,每一个文件都有文件所有者和所属群组,并且规定文件的所有者,所属群组,以及其他人队问价有读取(r), 可写(w),执行(x)等权限,

亦可分别用数字4、2、1 表示。

文件的可读、可写、可执行权限可以简写为rwx,也可以使用数字7表示(4+2+1)。

权限设定字符串格式如下:

[ugoa...][[+-=][rwxX]...][,...]

其中

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

参数

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

----------------------------------------------------------------------------------------------------

二、实例

使用chmod命令修改文件 1 访问权限,使所有者,群组,以及其他人都有rwx权限。

chmod  ugo+rwx 1

chmod 777  1

如果我们想要所有人都具有文件2的rwx权限,可以使用

chmod a+rwx 2

我们想要在文件2现有权限的基础上修改文件所有者及所属群组具有rwx权限,而其他人只具有r权限。

chmod ug=rwx  o-wx 2

我们新建一个文件3,使其具有同文件2相同的权限

chmod 774 3 

我们新建一个目录new,并在目录中新建文件1 和 文件2 .如果要修改new目录和目录中的所有文件权限为777,这时我们九需要使用 R参数。

chmod -Rf  777 new 

--------------------------------------------------------------------------------------------------------------------------

三、总结

chmod命令使Linux管理员最常用的命令之一,可见他对于Linux系统管理相当重要。

目录的读写权限和文件的读写权限区别很明显,前者是可以列出目录下的文件和创建新文件,后者就是读取文件的内容和向文件写入。对于执行权限的区别我的理解是

如果对目录没有执行权限,但是对目录下的文件有执行权限,那么相当于对该文件也没有权限

如果对目录有执行权限,但是目录下的文件没有执行权限,相当于对该文件也没有权限

所以要执行一个目录下的文件,必须目录和文件都具有执行权限。

文章不当之处,望指正。

Linux学习历程——Centos 7 chmod命令的更多相关文章

  1. Linux学习历程——Centos 7 chown命令

    一.命令介绍 Linux是多人多工操作系统,所有的文件皆有拥有者.利用 chown 将指定文件的拥有者改为指定的用户或组, 用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改 ...

  2. Linux学习历程——Centos 7 ls命令

    一.命令介绍 ls命令用于显示目录中的信息. ----------------------------------------------------------------------------- ...

  3. Linux学习历程——Centos 7 find 命令

    一.命令介绍 find 命令用于按照指定条件来查找文件. 一些比较常用参数如下表 参数 作用 -name 匹配名称 -perm 匹配权限mode为完全匹配( –mode包含即可) -user 匹配所有 ...

  4. Linux学习历程——Centos 7 grep命令

    一.命令简介 grep 命令用于在文本中执行关键词搜索,并显示匹配的结果. 由于grep命令参数很多,这里只列出一些常用的参数. 参数 作用 -b 将可执行文件当作文本文件来搜索 -c 仅显示找到的行 ...

  5. Linux学习历程——Centos 7 ps命令基础

    一.ps命令介绍 ps命令是Process Status的缩写,用于查看系统进程状态,ps命令输出值非常多,通常结合管道符使用. 二.实例 1.我们直接输入ps命令,不加任何参数. 可以看到默认输出4 ...

  6. Linux学习历程——Centos 7 man命令

    一.man命令介绍 man,为单词manual的缩写,是linux下的帮助指令. 二.实例 以man命令为例,输入 man  man  获取man命令的帮助文档 可以看出,使用man命令查询到的帮助信 ...

  7. Linux学习历程——Centos 7 passwd命令

    一.命令介绍 passwd 命令用于修改用户密码,过期时间,认证信息等. 普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码.更酷的是,root ...

  8. Linux学习历程——Centos 7 diff命令

    一.命令介绍 diff命令用于比较文本差异. diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录. ------------- ...

  9. Linux学习历程——Centos 7 tar命令

    一.命令介绍 tar命令用于对文件进行打包压缩或解压. tar常用参数 参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -r 向压缩归档末尾追加文件 -u 更新压缩包 ...

随机推荐

  1. css,解决文字与图片对齐的问题

    测试代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  2. Dynamics 365 CE在Pre Delete插件中应用Image

    微软动态CRM专家罗勇 ,回复327或者20190428可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 在插件中限制记录的删除是常见的场景,比如根据statuscode ...

  3. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版

    更新 很多小伙伴在用 IIS 发布的时候,总是会有一些问题,文章下边 #autoid-6-0-0 我也简单的动图展示了,如何 publish 到 IIS 的过程,如果你能看懂,却发现自己的项目有问题的 ...

  4. 【TensorFlow篇】--反向传播

    一.前述 反向自动求导是 TensorFlow 实现的方案,首先,它执行图的前向阶段,从输入到输出,去计算节点值,然后是反向阶段,从输出到输入去计算所有的偏导. 二.具体 1.举例 图是第二个阶段,在 ...

  5. .NET Core微服务之基于Ocelot+Butterfly实现分布式追踪

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.什么是Tracing? 微服务的特点决定了功能模块的部署是分布式的,以往在单应用环境下,所有的业务都在同一个服务器上,如果服务器出现错 ...

  6. 推荐系统(Recommendation system )介绍

    前言 随着电子商务的发展,网络购物成为一种趋势,当你打开某个购物网站比如淘宝.京东的时候,会看到很多给你推荐的产品,你是否觉得这些推荐的产品都是你似曾相识或者正好需要的呢.这个就是现在电子商务里面的推 ...

  7. 基础设施DevOps演进之路

    Related Links:Zuul  https://github.com/Netflix/zuulCAT     https://github.com/dianping/cat Apollo  h ...

  8. JQ的.serialize()

    前面写的都是用Form表单提交,但是VUE.JS好像不能控制Form的Action. 于是就用AJAX来提交,但是跳转地址(window.location.href=)会暴露数据在url上,就直接用s ...

  9. 菜鸟之旅——学习线程(Task)

    前面两篇回顾线程和线程池的使用方法,微软在.NET4.5推出了新的线程模型-Task.本篇将简单的介绍Task的使用方法. Task与线程 Task与线程或者说线程池关系紧密,可以说是基于线程池实现的 ...

  10. Java并发——线程介绍

    前言: 互联网时代已经发展到了现在.从以前只考虑小流量到现在不得不去考虑高并发的问题.扯到了高并发的问题就要扯到线程的问题.你是否问过自己,你真正了解线程吗?还是你只知道一些其他博客里写的使用方法.下 ...