一、命令介绍

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. 如何让div中的table水平居中

    <div style="text-align:center"> <table border="1" cellpadding="3&q ...

  2. Windows Server 2016 安装虚拟机版黑群晖

    硬件配置 Dell R730 CPU: Intel(R) Xeon(R) CPU E5-2603 v4 @1.70GHz(6 cores) Ram: 16Gb HDD: 系统-600GB SAS X2 ...

  3. OpenProject基础使用介绍

            所有的活动都可以看做一个项目来管理.在企业中更是这样. 所以项目管理平台,对于任何一个高科技企业来讲都是必不可少的. OpenProject(以下简称OP)就是一个不错的项目管理平台, ...

  4. Android studio 2 版本升级 Android studio 3 版本注意事项

    1. compile 需要改成 implementation 或者 api例:implementation 'com.android.support:support-v4:23.4.0'详细规则 ht ...

  5. java.lang.UnsatisfiedLinkError:dlopen failed: “**/*/arm/*.so” has unexpected e_machine: 3

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10458448.html 今天在做APP的时候使用so库,可结果一加载so库的时候便发生了这个莫名其妙的错 ...

  6. 《SQL CookBook 》笔记-准备工作

    目录 准备 1.建立员工表--EMP 2.建立部门表--DEPT 3.EMP表和DEPT表插入数据 4.建立透视表T1,并插入数据 5.建立透视表T10,并插入数据 第二章 shanzm 准备 1.建 ...

  7. Win10系统修改主机名、用户名称和密码、以及C盘中的用户文件夹名

    写在前面 近期重新安装了Ubuntu16.04系统,同时也修改了Windows10系统的用户名.密码,还有C盘用户文件夹名称.对于Linux和windows系统来说,修改名称基本都是三部分,主机名.用 ...

  8. vba读文本如果文本文件太大会提示错误!

    Sub 文本文件太大会提示错误() Dim TT, p Open "I:\xxxxx\yyyzz.txt" For Input As #1       '读取txt文件 Do Wh ...

  9. flink源码编译(windows环境)

    前言 最新开始捣鼓flink,fucking the code之前,编译是第一步. 编译环境 win7 java maven 编译步骤 https://ci.apache.org/projects/f ...

  10. 5. VIM 系列 - 文件管理

    目录 目录树 文件检索 ctrlp.vim fzf.vim 目录树 安装 nerdtree.vim 插件 Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeTo ...