日更第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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 干货!java文件上传判重姿势浅谈

    干货!java文件上传判重姿势浅谈一、场景:文件上传,用户极有可能上传重复文件,内容完全一致。如果对上传的文件未做任何处理,对于文件存储系统来说将是灾难,大量重复的数据,如果允许上传大文件,那么对于存储资源将是巨大的浪费。对于重复的文件,只需要复制相应的访问地址即可,源文件可无需上传,既减轻了网络带宽压力,也减少了存储容量的压力。二、应对:1、通过文件名判重。非特殊情况下,不会采用这种方案,理由跟人同名一样,文件名很容易重复,随着用户上升,概率会变大。采用此方案极易导致不能达到判重的目的。2、读取文件头加部分内容。这种方案可以解

    2022年5月15日
    30
  • 查看文件句柄数 linux_linux文件句柄数量怎么看

    查看文件句柄数 linux_linux文件句柄数量怎么看查看系统的最大文件句柄数和文件句柄的使用者PIDulimit-n查看当前系统的最大句柄数显示如下ulimit-HSnx设置当前系统的文件句柄数为x以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修…

    2022年10月17日
    1
  • maven web项目build失败

    maven web项目build失败

    2022年3月8日
    35
  • 深入理解Java虚拟机——JVM垃圾回收机制和垃圾收集器详解

    深入理解Java虚拟机——JVM垃圾回收机制和垃圾收集器详解说起垃圾回收(GarbageCollection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,顾名思义,垃圾回收就是释放垃圾占用的空间,这一切都交给了JVM来处理。本文主要解答三个问题:1、哪些内存需要回收?(对象是否可以被回收的两种经典算法:引用计数法和可达性分析算法) 2、如何回收?

    2022年5月13日
    39
  • import sun.misc.BASE64Encoder;报错

    import sun.misc.BASE64Encoder;报错详情见:https://blog.csdn.net/Carrie_zzz/article/details/78821469当我们要兼容火狐浏览器的时候需要用到BASE64Encoder。此时要导入这个包importsun.misc.BASE64Encoder;莫名奇妙的错了。这是因为这个类不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse中直接使用却报…

    2022年6月25日
    29
  • java单例模式有什么用_java单例模式代码实现

    java单例模式有什么用_java单例模式代码实现Java的单例实现方式经典:懒汉式、饿汉式、双重检测锁关键:私有化构造方法通过方法去获取单例对象懒汉(调用时再去初始化)、饿汉(直接初始化)Demo://饿汉式publicclassDemo1{privatestaticDemo1demo1=newDemo1();privateDemo1(){sout(“初始化”);}publicstaticDemo1getInstance(){returndemo1;}

    2022年8月11日
    5

发表回复

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

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