当前位置: 首页 > news >正文

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

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

文章目录

  • 1. 文件分类
  • 2. 文件的权限
    • 1). 拥有者和所属组以及other
    • 2). 文件的权限
    • 3). 粘滞位
    • 4). 对于权限修改的拓展知识点
      • a.修改权限
      • b.修改拥有者所属组
      • c.权限掩码

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随意删除目录中文件
最终权限在计算机里的操作是:
最终权限 = 起始权限 & (~ 掩码权限)

相关文章:

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

在linux的世界中我们首先要有万物皆文件的概念,那么在系统中有那么多的文件,我们该怎么区分呢?文章目录 1. 文件分类2. 文件的权限1). 拥有者和所属组以及other2). 文件的权限3). 粘滞位4). 对于权限修改的拓展知识点a.修改权限b.修改拥有者所…...

关于Synchronized

Synchronized用于实现线程间的同步。它可以被用于方法或代码块上,确保同一时间只有一个线程可以访问被 synchronized 修饰的代码,也就是常说的锁,synchronized有三点作用 1)实现线程安全:通过使用 synchronized&#x…...

深度学习(Python)学习笔记2

第二章 感知机 2.1 感知机是什么 感知机接收多个输入信号,输出一个信号。 感知机的信号会形成流,向前方输送信息。 感知机的信号只有“流/不流”(1/0)两种取值。 本学习笔记中,0对应“不传递信号”,1对应“传递信号”。 图中、是输入信号,是输出信号,、是权重。图…...

gitlab操作

1. 配置ssh 点击访问 2. 创建新分支与切换新分支 git branch 新分支名 // 创建 git checkout 新分支名 // 切换到新分支3. 查看当前分支 git branch*所指的就是当前所在分支 4. 本地删除文件后与远程git同步 git add -A git commit -m "del" git push...

docker day04

Dockerfile: - FORM: 1.指定基础镜像,可以起别名,也可以指定多个FROM指令,用于多阶段构建; 2.加载触发器,加载ONBUILD指令; 3.不指定基础镜像,声明当前镜像不依赖任何镜像,官方…...

任意区域的色彩一致性处理方法

影像任意感兴趣区域的色彩一致性处理方法,主要是针对掩膜后的影像,类似下图,对非背景区域的像素进行处理 其中非黑色部分我们叫待匀色区域。 这种处理 对于wallis 和直方图匹配 很容易实现,但是颜色转移就相对而言 困难点。 颜…...

听GPT 讲Istio源代码--pilot

File: istio/operator/pkg/translate/translate.go 在Istio项目中,istio/operator/pkg/translate/translate.go文件的作用是处理Istio Operator的配置信息和Kubernetes的资源对象之间的翻译和转换。 首先,scope和componentToAutoScaleEnabledPath是用于记…...

pdfjs解决ie浏览器预览pdf问题

pdfjs是一个js库,可以将pdf文件用canvas重新绘制,从而无需借助pdf读取插件就可以直接预览。 目前chrome内核的浏览器已内置pdf读取插件,但ie浏览器还没有。而我们最近在做的一个项目使用对象是医院,使用的浏览器竟然还是ie。所以我…...

千里共婵娟 | 结合微信公众号用JavaScript完整开发实现换中秋头像的功能

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…...

pt26django教程

admin 后台数据库管理 django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用 django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用 创建后台管理帐号: [rootvm mysite2]# python3 manage.…...

javabasic

计算机基础 一、学前知识 1. 计算机组成 2. 进制的概念 (1)二进制的存储 计算机不管是内存还是硬盘,都是以二进制的形式存储。如同一张巨大的表格,里面都是由0和1组成。 二进制:逢2进1 基数为2,数值部分…...

电子词典项目

目录 目录 头文件&#xff1a;dict.h: 源文件&#xff1a;dict.c: 服务器测试文件&#xff1a;serDict.c: 客户端测试文件&#xff1a;cliDict.c: 头文件&#xff1a;dict.h: #ifndef __DICT_H__ #define __DICT_H__ #include<myhead.h> #include<sqlite3.h>#de…...

SQL12 高级操作符练习(2)

描述 题目&#xff1a;现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研&#xff0c;请你取出相关数据&#xff08;使用OR实现&#xff09; 示例&#xff1a;user_profile iddevice_idgenderageuniversitygpa12138male21北京大学3.423214male复旦大学4.03…...

python写代码过程中的坑230915

1.解释代码IndentationError: expected an indented block 这个错误通常是由于代码缩进错误导致的。 在Python中,代码块(如循环、条件语句、函数等)通常使用缩进来表示。因此,如果你在期望缩进的位置没有正确缩进代码,就会出现"IndentationError: expected an inden…...

SpringBoot课堂笔记20230913

本篇文章为SpringBoot学习笔记&#xff0c;方便自己再复习。 Maven&#xff1a;jar包管理工具 注解&#xff1a; Controller:处理http请求&#xff0c;返回的视图 RestController: 相当于ResponseBody和Controller一起用&#xff0c;返回的是json ResponseBody:返回响应内容 …...

3D数字孪生:从3D数据采集到3D内容分析

数字孪生&#xff08;Digital Twin&#xff09;是物理对象、流程或系统的虚拟复制品&#xff0c;用于监控、分析和优化现实世界的对应物。 这些数字孪生在制造、工程和城市规划等领域变得越来越重要&#xff0c;因为它们使我们能够在现实世界中实施改变之前模拟和测试不同的场景…...

【杂记】git管理工具的相关应用

这里记录一些用git管理工具进行开发的命令&#xff0c;便于自己查看&#xff0c;我认为下面两篇博客写的很详细&#xff0c;但是为了自己方便查看&#xff0c;所以自己写了一些命令供自己进一步理解。gitee相对git来说更方便一些&#xff08;毕竟国内的不用担心墙&#xff09;&…...

看好多人都在劝退学计算机,可是张雪峰又 推荐过计算机,所以计算机到底是什么样 的?

张雪峰高考四百多分&#xff0c;但是他现在就瞧不起400多分的学生。说难听点&#xff0c;六七百分的 热门专业随便报谁不会啊&#xff1f; 计算机专业全世界都是过剩的&#xff0c;今年桂林电子科技&#xff0c;以前还是华为的校招大学&#xff0c;今年 计算机2/3待业。这个世…...

leetcode 26.删除有序数组中的重复项

给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你需要做…...

jitsi音视频会议集成到自己的网页中

将jitsi视频会议集成到自己的web网站&#xff1a; 源码&#xff1a; <!DOCTYPE html> <html lang"en" xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"><meta name"viewport" content&…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时&#xff0c;遇到编译buildroot失败&#xff0c;提示如下&#xff1a; 提示缺失expect&#xff0c;但是实测相关工具是在的&#xff0c;如下显示&#xff1a; 然后查找借助各个ai工具&#xff0c;重新安装相关的工具&#xff0c;依然无解。 解决&am…...