Linux文件类型与权限及其修改

后面我们写代码时,写完可能会出现没有执行权限什么的,所以我们要知道文件都有哪些权限和类型。

首先

就像我们之前目录结构图里面有个/dev,它就是存放设备文件的,也就是说,哪怕是一个硬件设备,例如打印机啥的,它也把它映射成一个文件。这就是一切皆是文件。

但它不是以文件的后缀名来区分文件类型的。

如上图,就是在进到 家目录:/home/stu    ~  两者等价,底下的quzijie文件夹(目录文件)里面,再用mkdir来创建一个文件夹(目录文件),名字叫class03(mkdir建立的目录文件其文件名的颜色一般是蓝色),创建完然后进到class03里面,这时class03里面是空的。

此时其绝对路径是/home/stu/quzijie/class03.

现在在class03文件夹里面用touch建一个普通文件,名字叫xxx.yyy。

可以看到成功了,这说明不管文件后缀名是什么,即使是.yyy这种,Linux也能创建成功,它不以后缀名来区分文件类型。

同理,再建一个y.x文件,后缀名是.x也能成功。

这些并不是我们在Windows上所熟知的什么.txt是文本文件类型的后缀名,.pdf是图片类型的后缀名。

那么来看Linux是以什么来判断文件类型的,Linux是在文件属性中专门有一列内容来记录文件类型的

如图,用命令ll,我们可以看到,第一列内容,就告诉了你文件类型

d:表示这是一个目录文件(文件夹),./:是当前目录class03,../:是上一层目录quzijie。

-:表示这是一个普通文件,xxx.yyy,y.x都是刚刚用touch建立的普通文件。

例如再在class03里面用mkdir建一个目录文件test,然后ll。可以看到test目录文件前面的就是d

这里是一些常用的文件类型标识

上图中的普通文件一堆标识就是说这些是用touch建立的文件,而touch建立的普通文件用cd是进不去的,因为cd只能进去目录文件(文件夹),要用mkdir建立。如图,ll进去文件y.x文件的那一行第一个字符是-,就代表是普通文件

而cd test就可以进去test,虽然ls显示test里面什么都没有为空,此时绝对路径就是/home/stu/quzijie/class03/test.        cd进入一个新目录文件,其路径名就加一个(/新进入的目录名)

一般cd后紧接着都是ls,看看进去的文件夹里面有什么

或者用  ls -l  就等同于  ll  进去看到一个目录文件夹里的所有文件信息,此时test里面没有东西所以是总计0,那我们 cd .. 退回到test的上一层目录文件class03里面,再 ls -l去看class03目录文件夹里面的所有文件信息,如下

然后我们看这些文件信息都是什么东西

文件类型下来就是文件权限,一共有9列,可分为前3列(文件所有者即创建者u的读r,写w,执行x的3列访问权限,这3列所代表的顺序不能变1读2写3执行),中间3列是文件的同组组员用户的3种访问权限,后3列是其他人的3种访问权限

其相应位置显示相应字母就代表相应的人拥有了相应权限,显示(-)就是你没有相应的权限。要看文件权限就是 ls -l 或者 ll 进入可看

权限下来是链接数,

对于普通文件来说,有几个链接了这个文件,那么链接数就是几。

对于目录文件来说,就是一级子目录的个数。

链接数下来是拥有者即文件所属者

我们前面建立的文件或文件夹其所属者都是stu,stu就是一开始我们给自己取的用户名。

所属者下来是它的同组人也是stu,因为Linux是多用户系统,但目前我们这里只有自己这一个用户,所以所属组,同组人也是自己这个用户stu。

所属组下来是文件的大小,下来是文件最后一次的修改时间,最后就是文件名。

以上就是Linux里面文件的所有详细的属性信息,用 ls -l来看

下来是一个重点——如何修改文件的权限——chmod的用法,用来修改文件权限的2种方法

先来在class03目录底下touch一个普通文件main.c

然后 ls -l 看一下main.c都有什么权限

可以看到main.c的所有者和同组人有读和写的权限,但没有执行权限;而其他人只有一个读的权限。

修改用户权限法一——文字设定法——+,-,=

那么现在如果要给其他人加上一个写的权限——要怎么做。————chmod o+w main.c

(chmod 空格 3类用户中的某一个或a(all代表3类用户都包含)(+,-,=)3类权限中的什么 空格 文件名)

可以看到 chmod o+x main.c之后 ls -l显示,main.c的执行权限x就加上了

再执行一遍也没有报错

要是要把这个x权限去掉,就是将刚刚的o+x改为o-x就行,在例如给u加上x权限

给所有人都加上x权限

这里u,g,o,a就是一个参数,所以跟后面的+,-,=符号之间不要有空格

现在对于main.c文件而言所有人都有执行x权限了,那么main.c文件就变成绿色的了。

要是把所有人的执行权限x都去掉,chmod a-x main.c,现在main.c文件就变成黑色的了,虽然都是普通文件。

现在给属主把写权限w去掉后,现在文件main.c的所有者user再想要往文件main.c里面写东西的话就写不进去了。就是因为没有写权限。

一般出问题后先打开看看是不是权限问题

二.还有另一种修改权限的方法,直接使用等于号——  =

对于文件的哪一类操作用户想要有哪些操作权限,就让那类用户直接=它需要的所有权限,例如上图中,文件所有者user需要读r和写w权限,就是——u=rw。

那现在要同时给2类操作用户来修改权限,属主user和同组用户group,要怎么做——不同类的操作用户之间用逗号,隔开

上图就是同时修改2类操作用户的权限

修改用户权限法二——数字设定法——用的最多

如果要同时对3类用户都进行权限修改,此时用文字设定法就比较麻烦,用数字设定法更好

先来看一下这个421是怎么来的

3种权限rwx分别都占着位置,对应二进制里面也是占着3个位置

rwx

100——对应为r--,也就是4

010——对应为-w-,也就是2

001——对应为--x,也就是1

这里的nnn对应的就是ugo

nnn

ugo

n为根据rwx有无的数值和

例如6        6         4——就是

       rw-     rw-     r--

        7        7        7——

      rwx     rwx    rwx

下图在工作中一般是不允许的,例如其他人o是没有写w权限的,不能让其他人随便就把我的文件给改动了

就像下面原始创建的普通文件y.x,一开始就是默认的664,(正常情况下多数都给664)其他人只有读r权限,因为Linux是多用户系统,所以所有者和同组人可以有读和写的权限

如图,touch出的普通文件(yy.xxy)都是664,你可以自己给它改一下改成644

再给main.c改个641

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/131552.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+vue的高校办公室行政事务管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的高校办公室行政事务管理系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的高校办公室行政事务管理系统,采用M(m…

UnRaid安装安装仓库管理系统GreaterWMS

文章目录 0、前言1、安装流程1.1、克隆GreaterWMS项目到UnRaid本地目录1.2、修改项目前后端端口1.3、修改baseurl1.4、修改Nginx.conf配置文件1.5、安装依赖插件1.5.1、Docker Compose Manager插件1.5.2、Python3环境 1.6、创建GreaterWMS容器1.6.1、为前后端启动脚本赋执行权限…

Postman模拟上传文件

如图,在F12抓到的上传文件的请求 那要在postman上模拟这种上传,怎么操作呢,如图,选中【Select File】选取文件上传即可

Flink在汽车行业的应用【面试加分系列】

很多同学问我为什么要发这些大数据前沿汇报? 一方面是自己学习完后觉得非常好,然后总结发出来方便大家阅读;另外一方面,看这些汇报对你的面试帮助会很大,特别是面试前可以看看即将面试公司在大数据前沿的发展动向&…

ubuntu上如何移植thttpd

thttpd的特点 thttpd 是一个简单、小巧、便携、快速且安全的 HTTP 服务器。 简单: 它只处理实现 HTTP/1.1 所需的最低限度。好吧,也许比最低限度多一点。 小: 请参阅比较图表。它还具有非常小的运行时大小,因为它不会分叉并且非…

【Java王大师王天师】关注有礼博客模板

【点我-这里送书】 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的…

[LeetCode]-225. 用队列实现栈-232. 用栈实现队列

目录 225. 用队列实现栈 题目 思路 代码 232. 用栈实现队列 题目 思路 代码 225. 用队列实现栈 225. 用队列实现栈 - 力扣(LeetCode)https://leetcode.cn/problems/implement-stack-using-queues/description/ 题目 请你仅使用两个队列实现一个后…

内网如何使用Python第三方库包(举例JustinScorecardPy)

内网如何使用Python第三方库包 一、下载python whl文件(官网有的) 1、第一种方法 要直接下载whl文件,你可以按照以下步骤操作: 首先,访问 https://pypi.org/ 或 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 网站。这两个都是Python的官方…

迈巴赫S480升级流星雨大灯 最高配的数字大灯

“流星雨”数字大灯,极具辨识度,通过260万像素的数字微镜技术,实现“流星雨”仪式感与高度精确的光束分布;在远光灯模式下,光束精准度更达之前84颗LED照明的100倍,更新增坡道照明功能,可根据导航…

YOLOv5改进 | 添加CA注意力机制 + 增加预测层 + 更换损失函数之GIoU

前言:Hello大家好,我是小哥谈。在小目标场景的检测中,存在远距离目标识别效果差的情形,本节课提出一种基于改进YOLOv5的小目标检测方法。首先,在YOLOv5s模型的Neck网络层融合坐标注意力机制,以提升模型的特…

Linux离线安装cuda以及配置其环境

cuda安装 cuda版本适配 查看自己电脑所支持的cuda版本号 【若安装超算平台上的cuda toolkit这一步骤可以跳过】 CUDA toolkit Download官网下载cuda toolkit 下载好的.run可执行文件上传到平台进行离线安装 $ cd /上传的目录 $ chmod x cuda_12.2.2_535.104.05_linux.run /…

C++进阶-STL stack容器的简单认识

STL stack容器的简单认识 stack基本概念stack常用接口构造函数赋值操作数据存取大小操作 stack基本概念 stack是一种 先进后出 (First In Last out, FILO)的数据结构,它只有一个出口 栈只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈中进…

golang工程组件——redigo使用(redis协议,基本命令,管道,事务,发布订阅,stream)

redisgo redis 与 client 之间采用请求回应模式,一个请求包对应一个回应包;但是也有例外,pub/sub 模 式下,client 发送 subscribe 命令并收到回应包后,之后被动接收 redis 的发布包;所以若需要使 用 pub/s…

基于php js+mysql+laravel技术架构的手术麻醉管理系统源码 手麻系统源码

PHP手术麻醉管理系统源码 手麻系统源码 手术麻醉管理系统定义: 手术麻醉系统主要是由麻醉信息管理和监护设备数据采集系统两个部分组成,主要是将麻醉信息和从监护仪器上采集到的数据以及手术信息进行统计。 手术麻醉系统是指专用于住院患者手术与麻醉…

VueCli 自定义创建项目及配置

一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…

【我悟了】异常断电导致的文件系统变为只读——案例分析

背景 应领导要求,临时支持其他项目上遇到的一个问题。由于该问题属于未涉及的知识领域,从接触到最终给出方案,也花了我不少精力。在此进行分享,主要介绍在面对不熟悉的问题领域时,分析问题的思路。希望能够给年轻的同学…

观点|周鸿祎:大模型真正的竞争在于使其与用户场景相结合

【网易科技11月9日报道】目前,人工智能技术尚未达到向手机一样的刚性、高频需求,各国和企业都在加大研发和应用力度,探索不同的技术路线和商业模式。 360集团创始人、董事长周鸿祎在2023世界互联网大会乌镇峰会上表示,目前人工智能…

AI批量剪辑矩阵托管系统----源码技术开发

AI批量剪辑矩阵托管系统----源码技术开发 抖音账号矩阵系统是基于抖音开放平台研发的用于管理和运营多个抖音账号的平台。它可以帮助用户管理账号、发布内容、营销推广、分析数据等多项任务,从而提高账号的曝光度和影响力。 具体来说,抖音账号矩阵系统可…

混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.2)

混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.2) 前言基于广义哈密顿系统的一类混沌系统构造1.基本动力学特性分析2.数值分析 总结python代码 前言 续接混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.1&…

RT-Thread Env使用

Env用户手册 Env是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。 其内置的menuconfig提供了简单易用的配置裁剪工具,可对内核、组件和软件包进行自由裁剪&#xf…