Linux下更改文件权限[通俗易懂]

Linux下更改文件权限[通俗易懂]目录查看文件权限修改文件权限查看文件权限查看文件权限可以通过ls-l命令查看,如下所示:如果只想查看某一个文件的权限,可以使用grep,如下所示:可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execut…

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

查看文件权限

修改文件权限


查看文件权限

查看文件权限可以通过ls -l命令查看,如下所示:

Linux下更改文件权限[通俗易懂]

如果只想查看某一个文件的权限,可以使用grep,如下所示:

Linux下更改文件权限[通俗易懂]

可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。

在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execute),三者分别对应的字符为r、w和x;

除此之外,文件权限身份也分三种:文件所有者(user)、文件所有者所在组(group)以及其他(others),这里所说的“其他”,就是指的非文件所有者及其所在组的用户。在上述查询结果中的第3个字段和第4个字段分别反映了该文件的所有者以及文件所有者所在组。

现在再来说说如何通过每个文件第一个字段中的字符串来了解文件的权限。

整个10个字符分为以下4个部分:

①第1个字符。描述文件\目录 类型,如果为‘-’则表示这是一个文件,如果为’d’表示这是一个目录

②第2~4个字符。这3个字符为一组,按照顺序描述了文件所有者对该文件的可读、可写和可执行权限

②第5~7个字符。这3个字符为一组,按照顺序描述了文件所有者所在组对该文件的可读、可写和可执行权限

②第8~10个字符。这3个字符为一组,按照顺序描述了其他身份对该文件的可读、可写和可执行权限

也就是说,第1个字符反映了文件类型,后面9个字符每3个字符为一组,分别反映了文件所有者、文件所有者所在组和其他身份对该文件的可读、可写和可执行权限,如果为‘r’表示可读,为’w’表示可写,为’x’表示可执行,为’-‘表示无相应权限。

以上面的client.cpp为例,第一个字段为”-rw-rw-r–“,它的含义表示:这是个文件(非目录),文件所有者可以进行读和写但是不能执行(对应“rw-”),文件所有者所在组可以进行读和写但是不能执行(对应“rw-”),其他身份可读但不可写也不可执行(对应“r–”)

修改文件权限

修改文件权限使用chmod指令。该指令常用的有两种使用方式:

1.chmod abc filename

指令中的a、b、c分别表示一个数字,其中a对应文件所有者权限,b对应文件所有者所在组权限,c对应其他身份权限。

对于a、b、c各自来讲,它们都是0~7的数字,对应r、w、x三个二进制位按序组成的二进制数,举个例子,如果是只可读,对应的二进制数就是“100”,也就是4;如果是可读可写不可执行,那么对应二进制数为“110”,也就是6……

再举个最常见的chmod 777 xxxx指令,这里有3个7,但是每个7的含义是不同的。7的二进制形式为111,表示可读可写可执行,第1个7表示文件对于文件所有者来说可读可写可执行;第2个7表示文件对于文件所有者所在组来说可读可写可执行;第3个7表示文件对于其他身份的用户来说可读可写可执行。也就是说,通过chmod 777,文件就没有了读写执行权限限制了。

如果我要将上述client.cpp文件权限改为“文件所有者可读可写可执行,其余身份只可读”,那么就可以使用如下指令:

chmod 744 client.cpp

Linux下更改文件权限[通俗易懂]

2.chmod u/g/o/a    +/-    r/w/x   filename

该指令除了chmod和filename之外,还有三个部分:

①描述文件权限身份。u表示文件所有者、g表示文件所有者所在组、o表示其他用户、a表示三者全部。可以搭配使用,如ug表示文件所有者及其所在组;

②指定权限配置行为。‘+’表示添加权限,‘-’表示删除权限;

③权限类型。分别对于可读可写可执行。

举个例子,通过chmod的第一种方式,我已经将client.cpp的权限改为“文件所有者可读可写可执行,其余身份只可读”,如果我现在想删除文件所有者的可执行权限(u -x),增加文件所有者所在组和其他身份的可写和可执行权限(go +wx),就可以使用如下指令:

chmod u-x,go+wx client.cpp

Linux下更改文件权限[通俗易懂]

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

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

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


相关推荐

  • 滑动窗口算法通用思想

    滑动窗口算法通用思想本文详解「滑动窗口」这种高级双指针技巧的算法框架,带你秒杀几道难度较大的子字符串匹配问题:最小覆盖子串找到字符串中所有字母异位词无重复字符的最长子串最后抽象出一个简单的滑动窗口算法框架。LeetCode上至少有9道题目可以用此方法高效解决。但是有几道是VIP题目,有几道题目虽不难但太复杂,所以本文只选择点赞最高,较为经典的,最能够讲明白的三道题来讲解。第一题为了让读者掌握算法模…

    2025年6月27日
    1
  • java定时器的几种实现方式

    java定时器的几种实现方式1前言在开始正题之前,先闲聊几句。有人说,计算机科学这个学科,软件方向研究到头就是数学,硬件方向研究到头就是物理,最轻松的是中间这批使用者,可以不太懂物理,不太懂数学,依旧可以使用计算机作为自己谋生的工具。这个规律具有普适应,看看“定时器”这个例子,往应用层研究,有Quartz,SpringSchedule等框架;往分布式研究,又有SchedulerX,ElasticJob等分布式任务调度;往底层实现看,又有多种定时器实现方案的原理、工作效率、数据结构可以深究…简单上手使用一个框架,并不能体

    2022年7月8日
    51
  • UVa – The 3n + 1 problem 解读

    UVa – The 3n + 1 problem 解读

    2022年1月6日
    34
  • git放弃修改&放弃增加文件

    git放弃修改&放弃增加文件

    2022年2月10日
    53
  • uboot的relocation原理详细分析「建议收藏」

    uboot的relocation原理详细分析「建议收藏」所谓的relocation,就是重定位,uboot运行后会将自身代码拷贝到sdram的另一个位置继续运行,这个在uboot启动流程分析中说过。但基于以前的理解,一个完整可运行的bin文件,link时指定的链接地址,load时的加载地址,运行时的运行地址,这3个地址应该是一致的,relocation后运行地址不同于加载地址特别是链接地址,ARM的寻址会不会出现问题?

    2022年6月22日
    35
  • spring cloud总览和架构图[通俗易懂]

    spring cloud总览和架构图[通俗易懂]本节主要是根据微服务的技术架构图,介绍下springcloud微服务体系中的核心组件。下面是spring官网的springcloud微服务架构图:核心组件说明:分享2张微服务的架构图:之后的文章中,会针对各组件和底层原理调优,以及工作中遇到的一些坑,进行一些记录和说明。1、各组件的原理和使用2、服务划分和数据库拆分思路3、微服务的部署方案4、微服务中的一些优化…

    2022年6月5日
    70

发表回复

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

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