日更第11天:Linux常用命令之chmod用法

在这里插入图片描述

大家好,我是胖邰。今天是挑战的第11天,真没想到自己能坚持过半,先表扬一下自己。这次文章主要介绍使用chmod的用法。来吧,让我们一起了解下。

1. 命令简介

chmod 命令是用来修改某个文件或文件夹的权限,我们知道,在Linux系统中,文件和文件夹都有自己的属性和权限,分别为 文件所有者文件所属组其他用户的读访问、写访问、执行访问权限,简称为 r、w、x 或者 4,2,1 表示。

在Linux系统中,文件的基本权限由3类用户9个字符组成,每个用户身份分别包含同样的 r、w、x 3个权限,通过将3个权限对应的数字相加来确定文件所具备的权限。当前,只有文件所有者和root用户才可以修改文件或者文件夹的权限。

每个模式字符串匹配格式
"[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+"
  • u:表示文件所有者
  • g:表示文件所属组(表示与文件所有者属于同一个群体)
  • o:表示其他用户
  • a:表示三者皆有
  • -:表示取消权限
  • +:表示增加权限
  • =:表示唯一设定权限
  • r:表示读访问
  • w:表示写访问
  • x:表示执行访问
  • X:表示只在文件夹或已对某些用户具有执行权限
  • s:表示在执行时设置用户或组ID
  • t:表示限制删除标志或粘性位时执行/搜索
数字模式组合介绍

另外,在这里我们要特别强调一下 读访问、写访问、执行访问权限 分别对文件和文件夹存在的差异

权限对文件作用
  • 读访问:表示可读取对应文件的实际内容,比如我们使用之前的tail命令来查看内容
  • 写访问:表示可新增、编辑以及修改文件中的内容
  • 执行访问:表示文件具有被系统执行的权限,只要文件具备执行访问权限(可执行文件)
权限对文件夹的作用
  • 读访问:表示具有读取文件夹结构的权限,也就是说可以看到文件夹中有哪些文件和子文件夹,一旦具备读权限,就可以使用 ls 命令来查看文件夹中的内容信息
  • 写权限:可以对文件夹进行创建(新建文件或者文件夹)、删除(已存在文件或者文件夹)、修改(已存在文件或者文件夹修改名称)、移动的权限(可以移动此文件夹下的文件和文件夹的位置),比如我们使用 rmmv 等命令
  • 执行权限:我们知道,文件夹是不能够直接被运行的,对其赋予执行权限表示可进入此文件夹下,也就是我们常用的 cd 命令的作用

2. 英文含义

chmod = change mode 改变方式、改变模式、变更方式

3. 语法格式

chmod [选项]... 模式[,模式]... 文件...
chmod [选项]... 八进制模式 文件...
chmod [选项]... --reference=参考文件 文件...
将每个文件的权限模式变更至指定模式。
使用 --reference 选项时,把指定文件的模式设置为与参考文件相同。

4. 选项说明

  • -c 或 --changes 文件权限已修改后,显示其更改动作
  • -f 文件权限无法修改时,不显示错误信息
  • -v 或 --verbose 显示每个文件或文件夹权限变更的执行流程资料
  • –reference=参考文件 使用参考文件的模式而非给定模式的值
  • -R 或 --recursive 递归修改文件和目录
  • –help 显示此帮助信息并退出
  • –version 显示版本信息并退出

5. 示例说明

所有用户对文件可读可写可执行
[root@iZ test]# ls -l
总用量 0
-rw-r--r-- 1 root root 0 11月 26 22:19 source.log
[root@iZ test]# chmod 777 source.log
[root@iZ test]# ls -l
总用量 0
-rwxrwxrwx 1 root root 0 11月 26 22:19 source.log
[root@iZ test]#
对文件其他用户增加写权限
[root@iZ test]# ls -l
总用量 0
-rw-r--r-- 1 root root 0 11月 26 22:19 source.log
[root@iZ test]# chmod o+w source.log
[root@iZ test]# ls -l
总用量 0
-rw-r--rw- 1 root root 0 11月 26 22:19 source.log
[root@iZ test]#
对文件所有者撤销读权限
[root@iZ test]# ls -l
总用量 0
-rw-r--rw- 1 root root 0 11月 26 22:19 source.log
[root@iZ test]# chmod u-r source.log
[root@iZ test]# ls -l
总用量 0
--w-r--rw- 1 root root 0 11月 26 22:19 source.log
[root@iZ test]#

好了,今天的学习就到这里!欢迎大家评论区参与交流与讨论,更好的学习与进步!原创不易,欢迎收藏与转发支持!

在这里插入图片描述

系列推荐