日更第11天:Linux常用命令之chmod用法[通俗易懂]

日更第11天:Linux常用命令之chmod用法[通俗易懂]避免退学

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在这里插入图片描述

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

1. 命令简介

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

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

日更第11天:Linux常用命令之chmod用法[通俗易懂]

每个模式字符串匹配格式

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

数字模式组合介绍

日更第11天:Linux常用命令之chmod用法[通俗易懂]

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

权限对文件作用

  • 读访问:表示可读取对应文件的实际内容,比如我们使用之前的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]#

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

在这里插入图片描述

系列推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179980.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot集成redis「建议收藏」

    SpringBoot集成redis「建议收藏」今天,日月在这里教大家如何使用springBoot集成redis,说实话比较简单,网上也有大把的教程。先套用一下网上的简介。定义REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value…

    2022年6月16日
    25
  • hashmap和hashtable和hashset的区别_为什么要用hashmap

    hashmap和hashtable和hashset的区别_为什么要用hashmap1.HashMap1) hashmap的数据结构     Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示:     当我们往hashmap中put元素的时候,先根据key的hash值得到这个元素在数组中的位置(即下标),然后就可以把这个元素放到对应的位置中了。如果这个元素所在的位子上已经存放有其他元素了,那么在同一个位子上的元素将以链表的形

    2025年12月2日
    8
  • 深入剖析物联网行业现状及发展

    深入剖析物联网行业现状及发展

    2022年4月2日
    52
  • MT4行情交易API接口开发手记

    MT4行情交易API接口开发手记之前开发的外汇量化交易系统,行情和交易接口都是通过在MT4平台下编写EA来实现,具体方法是:1、用C++编写一个动态库文件,在里面实现行情和交易数据调用接口,将报价数据和K线数据写入数据库中,并从数据库中获取外汇量化系统发出的交易指令。2、在MT4中编写EA文件,在MT4上不间断运行,从MT4平台实时获取报价和K线数据,并调用动态库写入数据库中,于此同时,不断从数据库中获取交易指令,再调用MT4的交易指令完成交易。采用此种方法的好处就是兼容性强,只要打开MT4软件运行EA,就可以完成行情和交易接..

    2022年5月30日
    165
  • django views_django admin视图

    django views_django admin视图前言ViewSet只是一种基于类的视图,它不提供任何方法处理程序(如.get()或.post()),而是提供诸如.list()和.create()之类的操作。ViewSet的方法处理程序

    2022年7月29日
    9
  • vscode 使用flake8和yapf[通俗易懂]

    vscode 使用flake8和yapf[通俗易懂]vscode使用flake8和yapf

    2025年11月2日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号