linux相关知识以及有关指令3

2023-09-16 16:05:16
在linux的世界中我们首先要有万物皆文件的概念,那么在系统中有那么多的文件,我们该怎么区分呢?

1. 文件分类

在linux中文件大致分为以下几类:
-:普通文件,源代码,可执行程序,库等等。
d:目录文件
c:字符设备文件,键盘,显示器
b:块设备文件
l:链接文件
p:管道文件
上面的字母是各类文件的表示他们位于这个位置:
在这里插入图片描述
我们可以看到在linux中文件的前面有很多属性而位于最前面的十个字符中的第一个字符则表明了它是一个什么样的文件,那么就有人会问那后面剩下的字符是什么意思呢?现在我们先来介绍一下其他的知识。
linux中一般对不同类型的文件有着不同的高亮颜色

2. 文件的权限

1). 拥有者和所属组以及other

在这里插入图片描述
这里可以看到有两个字符串,而且好像是我们的账户名字。是的它就是我们账户的名字,而不同的位置有着不同的意思,第一个是代表拥有者,即创造这个文件的人,第二个是所属组,这个里面可以不止一个人,他的目的是为了让多人对这个文件进行维护。而除了拥有者和所属组外,还有一种身份是other,other是除上述两种身份外的所有人的囊括,即对某个文件一个人不属于上述两种身份的情况下那他就是other。

2). 文件的权限

现在我们再来看文件的前面那十个字符的后九个字符是什么意思。
他其实是代表了三个身份对于这个文件的所拥有的权限,而权限分为三种:

r:读权限
w:写权限
x:可执行的权限

在这里插入图片描述
我们假如修改test.c文件所属组的权限,他现在的权限是只有读和写的权限,我们让他把这两个的权限也去掉:
而修改权限需要的命令是chmod g-rw test.c
在这里插入图片描述
其中:u(user)代表拥有者,g(group)代表所属组,o(other)代表other。要修改权限,只需要身份加减权限言明对应文件即可。
再次赋予所属组原来的权限:chmod g+rw test.c
在这里插入图片描述
只有拥有者和root账户可以修改文件权限

chmod 
a:全体的增加和删除权限

在这里插入图片描述
对某个文件目录添加或删除某个身份的权限,会使隶属于这个身份对于这个文件的修改,查看,执行权限有所改变。对于一个文件来说,写权限就是修改文件的内容,读权限就是查看文件内容,执行就是执行。
而对于一个目录来说。

写权限是对目录内的文件增加或者删除
读权限是能否查看这个目录中的内容
执行权限是能否进入这个目录

所以当一个目录other权限开放时,就算目录中的文件的other权限全部关闭,当other进入这个目录时,仍旧可以任意的添加删除文件,所以一个用户删除添加一个文件,取决于他的身份和对应身份在当前文件所属目录的权限如何。

3). 粘滞位

而在多人协作在同一个目录时,则需要当前目录对特定身份的人开放全部权限,而这时候就有可能导致错误性的删除某些文件,而造成损失,所以就出现了一个新的概念叫做粘滞位。粘滞位在默认状态下对other身份的人进行限制

chmod +t 文件  (默认other,只能给目录设置,添加后只能该目录的拥有者删除文件。)

在这里插入图片描述

现在我们用root账户在home路径下创建一个多人协作所需要的目录group_work,并在目录里添加一个文件test,并开放other的所有权限。
在这里插入图片描述
这时候我们使用zsw账号就可以随意的删除这个test文件
在这里插入图片描述
我们再次创建文件在group_work目录中,在对这个目录增添粘滞位。
在这里插入图片描述
这个时候就不被允许随意的删除文件了,当设置好后只能由目录的拥有者删除文件
在这里插入图片描述

4). 对于权限修改的拓展知识点

a.修改权限

我们发现这九个字符他们的状态不是rwx就是‘-’(除开粘滞位外),所以他们完全可以用0和1来表示他们的状态,三三成组,而三个二进制位又可以用一个八进制位来表示。所以当我们修改权限时,可以这么来写

chmod 444 文件名 (表示这个文件要修改为的权限是100100100  r--r--r--)

b.修改拥有者所属组

chown root test.txt --- 修改拥有者,可以在前面加sudo强制给予
chgrp root test.txt --- 修改所属组,同上
chown root:root test.txt 修改拥有者和所属组

这里只需要修改两个身份就可以,因为不属于这两个身份的人一定是other

c.权限掩码

现在我们再创建一个目录和文件
在这里插入图片描述
linux系统新建文件默认没有执行权限,其最大权限为rw-rw-rw-(666),新建目录的最大权限为rwx-rwx-rwx(777)
当我们创建好时我们发现他的权限是这样的,与我们上述结论不符合。那为什么是这样的呢?
其实这是受系统权限掩码的影响,我们可以输入umask并回车查看当前权限掩码
权限掩码有四个数字,我们只看后三个。
在这里插入图片描述

而这个默认权限又会与权限掩码发生作用才会形成最终权限,他们作用的过程就是

最终权限 = 起始权限去掉权限掩码中出现的权限,所以我们才会看到常见好的目录他没有了写权限,是为了防止other随意删除目录中文件
最终权限在计算机里的操作是:
最终权限 = 起始权限 & (~ 掩码权限)
更多推荐

Java日志

加油,新时代打工人!一、日志分级最开始的日志分级是由Syslog的开发者EricAllman在1981年提出的。之后,这个级别分级系统被广泛应用于各种领域的日志记录和信息处理中。下面我们就来介绍下常用的日志等级TRACE;是最低级别的日志记录,用于输出最详细的调试信息,通常用于开发调试目的。在生产环境中,应该关闭TRA

SG-Former实战:使用SG-Former实现图像分类任务(一)

摘要SG-Former是一种新型的Transformer模型,它被提出以降低视觉Transformer的计算成本,同时保持其优秀的性能表现。计算成本的降低使得SG-Former能够更有效地处理大规模的特征映射,从而提高了模型的效率和全局感知能力。SG-Former的核心思想是利用显著性图来引导Transformer模型

leetcode 236.二叉树的最近公共祖先

⭐️题目描述🌟leetcode链接:二叉树的最近公共祖先思路1:依次遍历每一个结点,遍历到当前根结点,再继续递归找p是否存在左子树q是否存在右子树,若p在左子树q在右子树或者q在左子树p在右子树,说明当前root就是qp的公共祖先,若当前结点找不到这种情况,则当前root转换为子问题root->leftroot->r

343. 整数拆分

题目:343.整数拆分给定一个正整数n,将其拆分为k个正整数的和(k>=2),并使这些整数的乘积最大化。返回你可以获得的最大乘积。示例1:输入:n=2输出:1解释:2=1+1,1×1=1。示例2:输入:n=10输出:36解释:10=3+3+4,3×3×4=36。提示:2<=n<=58思考历程与知识点:看到这道题目,都会

信息化发展44

智能运维1、中国电子工业标准化技术协会发布的团体标准I/CESA1172《信息技术服务智能运维通用要求》,给出了智能运维能力框架,包括组织治理、智能特征、智能运维场景实现、能力域和能力要素,其中能力要素是构建智能运维能力的基础。2、组织通过场景分析、场景构建、场景交付和效果评估四个过程,基于数据管理能力域提供的高质量数

关于mysql已有主从环境得主从重配置

恢复主从环境1:Situation(背景)2:Task(任务)3:Action(行动)主库(备份)1:锁表2:效验是否锁表3:查看主库状态并记录4:备份数据库全部5:解锁表6:把备份放到从库从库1:备份从库(可选)2:恢复从库3:清除旧设置4:添加新设置4:Result(结果)1:Situation(背景)测试环境下得

片内互联中常用的拓扑结构

主要的拓扑结构有星型(Star)、交叉(Crossbar)、总线(Bus)、环型(Ring)和网格(Mesh)等。星型(Star)结构,主控处理器放在中心位置,其他各个模块均与其连接,而模块彼此之间并不直接交互,必须通过主控中转,结构如图1所示。这种结构简单高效,在早期片内模块数量较少、结构单一时经常被使用。但随着多核

9.21数电(加法器&状态机&独热编码)

加法半加器一位,分为两部分,一个是进位,一个是单位上的和进位采取与门,单位上的和用异或门全加器进位数就是三个数进行加和,通过与门,就是两两过与门描述每位的和项就是,只去描述那个1的情况,即三中有一个,或者三个都为1分解全加器行波进位加法器快速加法器是说下一位的进位=此位的两个加数再加上来自上位的进数当此位的两个加数均为

如何恢复U盘里面的已经损坏的数据?

弹出使用驱动器之前,先将U盘格式化的信息框,是Windows系统针对某些特定类型的U盘或移动硬盘的一种常见处理方式。一般来说,如果U盘或移动硬盘出现某些故障或问题,Windows系统会建议用户将其格式化。格式化是一种常规的操作,它能使U盘或移动硬盘恢复到初始状态,但需要注意的是,格式化操作将会清除所有存储在U盘或移动硬

极客时间:数据结构与算法之美【文章笔记 & 实践 & 总结】

原文链接:https://time.geekbang.org/column/intro/10001730127|递归树:如何借助树来求解递归算法的时间复杂度?如何借助树来分析归并排序算法的时间复杂度?如何借助树来分析快速排序算法的时间复杂度?如何借助递归树来分析斐波那契数列的时间复杂度?如何借助递归树来分析全排列的时间

SpringBoot,Mybatis 使用Java8(JSR310)时间日期规范

目录一.依赖二.前台三.Controller,Form,Service四.数据库类型五.效果一.依赖⏹若使用的是SpringBoot<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter<

热文推荐