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


相关推荐

  • http协议与tcp协议区别[通俗易懂]

    http协议与tcp协议区别[通俗易懂]http协议与tcp协议区别1、性质不同:http是一个简单的请求-响应协议。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。2、连接不同:TCP连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。http通常运行在TCP之上。指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。3、功能不同:当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网

    2026年1月30日
    2
  • linux小红帽网卡设定,linux下网卡如何开启flow control「建议收藏」

    linux小红帽网卡设定,linux下网卡如何开启flow control「建议收藏」Whatisawife?Beyouwouldliketohandovertoherthesavingsthepreservationofwoman.Whatisalover?Beyougosecretivelyandshedatesagainafraidthewiferunintoofwoman.Whatisabeauty…

    2022年5月18日
    46
  • 多线程下HashMap的死循环问题

    多线程下HashMap的死循环问题

    2022年3月6日
    39
  • 详解Java异或运算符

    详解Java异或运算符文章原地址目录目录 性质 应用举例 其他用途示例 异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个二进制位同值则取0,异值则取1.简单理解就是不进位加法,如1+1=0,0+0=0,1+0=1.Forexample:3^5=6转成二进制后就是0011^0101二号位和三号位都是异值取1末尾两个1同值取零,…

    2022年9月27日
    3
  • vue子组件向父组件传值的方法

    vue子组件向父组件传值的方法子组件向父组件,使用$emit方法,demo:子组件的代码:<template><div><h1>thisischildcomponent</h1><button@click=”toParent”>向父组件传值</button></div>…

    2022年6月6日
    35
  • 分数相加[通俗易懂]

    分数相加[通俗易懂]本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1

    2022年8月5日
    7

发表回复

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

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