Linux热键,shell含义及权限介绍

君子忧道不忧贫。 —— 孔丘


Linux操作系统的权限

  • 1、几个常用的热键介绍
    • 1、1、[Tab]键
    • 1、2、[ctrl]-c
    • 1、3、[ctrl]-d
    • 1、4、[ctrl]-r
  • 2、shell命令以及运行原理
  • 3、权限
    • 3、1、什么是权限
    • 3、2、权限的本质
    • 3、3、Linux中的用户
    • 3、4、Linux中文件的权限
      • 3、4、1、快速掌握修改权限的做法
      • 3、4、2、对比权限有无的表现
      • 3、4、3、修改权限的第二套做法
      • 3、4、4、文件属性表达方式并利用二进制继续修改权限
      • 3、4、5、文件类型

1、几个常用的热键介绍

1、1、[Tab]键

为了方便能够快速的输入指令,通常利用[Tab]来帮助我们。[Tab]键的作用是具有命令补全档案补齐的功能。通常为了输入一个指令,我能快要输完的时候按下[Tab],能够快速补齐,能够减少一点时间吧,起始也能够利用[Tab]来帮助我们查看符合那几个开头的指令能有哪些。

1、2、[ctrl]-c

将当前的运行停止,为了防止出现一直刷屏或者是想要停止某个指令的时候。

1、3、[ctrl]-d

退出登陆

1、4、[ctrl]-r

输入之后,你可以输入几个之前输过的很长指令的部分,他能够自动的在历史命令中自动搜索。

2、shell命令以及运行原理

1、大部分的指令就是文件
2、用户执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交给外壳程序

图形化界面和命令行都是属于操作系统内核的外壳程序,shell程序。

例子:张三是一个天天和代码打交道的人,而且张三已经毕业了,但是呢,由于你的i人的特性,除了代码,见了谁都会害羞,但是又得解决一下人生过程中的问题,还没有女朋友,所以这个时候就需要一个王婆来帮助你来说媒,来找女生来帮助你说媒。能够帮助你来解决你面对女生时候的害羞的缺点。就算女生不同意了,王婆还能再帮帮你,找找看看有没有另外合适的。假设张三喜欢的女生是如花。
提问:为什么张三自己不找,因为张三不擅长和对方打交道。
所以对于张三(用户) ,王婆(外壳程序) ,如花(操作系统),也就分别向类似于这几个对象。
用户向外壳程序提交想要执行的指令,外壳程序进一步向操作系统跟进,如果执行的指令无法执行,操作系统会将报错信息交给外壳程序,外壳程序再将执行失败的信息返还给用户。
所以外壳程序是介于用户和操作系统之间的一个软件。
shell作用是: 1、将使用者的命令翻译给核心(kernel)处理。 2、同时,将核心的处理结果翻译给使用者。
存在的原因: 1、用户不善于和OS之间交互。
接上上面的故事,可是如花不喜欢张三,但是张三还是依然深深的爱着如花,所以张三还是让王婆再去说说,但是当王婆再去说的时候看见了如花隔壁家的小帅已经和如花如胶似漆了,那么这个时候王婆看到如此和谐的一幕也就不会再去打扰人家了,转头就和张三说还是不要再纠结如花了,你们是不可能的,此时不只是如花拒绝,王婆也会拒绝你的条件。所以即使是以后你还是想让王婆去问问如花,可能在王婆这一关都过不去,就直接将你拒接了。此时王婆是不想破坏别人家的好的姻缘,间接的也保护了如花的幸福。
存在的原因: 2、可以对于用户的请求进行合法性检查,变相的保护OS
可是痴情的张三会放弃吗,还是不放弃,还是想试一下还想让王婆再去说说试试看看,但是对于王婆来说,早就知道一不可能了,但是张三还是想让他再去,这样的话可能造成的结果就是别人以为王婆已经干了那么多天了,还是没有完成,会认为王婆的业务能力不行,败坏了王婆的能力和名声。所以此时,王婆就想怎么样才能帮他办了还需要不破坏如花的幸福,所以此时王婆在boss直聘上找实习生(本科及以上学历),找到了之后就让实习生来解决张三的事情,王婆只做有把握的事情,没把握的事情都给实习生来做,以后张三的要求就给实习生来做了。这样的话,王婆还能够继续干自己的工作,并且还不会有任何失败带来的不好的影响。
运行情况: bash基本上都会对我们创建一个子进程,帮用户进行命令行解释。真正的bash值需要进行等待就行了。
shell(媒婆,外壳程序的统称). bash(王婆,具体的一款). sh(李婆,另外一种)

3、权限

3、1、什么是权限

生活中的例子可以帮助我们理解。
VIP才能看最新出来的电影。
进学校的宿舍需要刷脸这也是权限。
权限就是通过一定的条件拦住一部分,给另一部分人权利,来访问某种资源。来决定有无或者是能不能的问题。

3、2、权限的本质

由上面可知,权限和人有关。
我想在爱奇艺上刷题,leetcode上看视频,明明我都是会员了,为什么干不了这种事?
所以权限还和 事物的属性有关。
权限=人 + 事物的属性有关
但是,假如,你是张三有一个VIP,能够看最新的视频并且你是一个公司的员工,能够用门禁卡能够进公司。这两种情况都是因为你叫张三才让你看视频,让你进公司的吗?其实不是,真正的原因在于你充钱了才能看VIP视频,你是这个个公司的员工,你才能进公司。
所以,并不是意味着你叫什么,而是你本身的角色才有这样的特点和权限。
所以!权限= 角色+ 事物的属性有关

3、3、Linux中的用户

用户分为两种1、root 2、其他(普通用户)
root:超级管理员(不受权限约束)
其他(不同用户)

如何进行身份的互换。
普通用户变为root账号
1、利用su指令,此时输入su之后需要输入密码,那么输入的密码需要的是root的密码。那怎么从root用户退会普通用户?[ctrl]+d。此时不会改变路径的位置。还是处在原来的位置。
2、利用su - 指令,此时还需要输入密码,也还是root的密码。会多出一条提示信息。此时相当于是利用root账号重新登陆,登陆的默认路径之下会变成root的路径。

root账号变为普通用户直接su 用户名就行,连密码都不用输入。(root不会收到权限的限制)

不想直接变为root,但是想用root的身份执行一个工作。
sudo指令,是相当以root的身份来执行指令,此时需要输入密码,但是输入的密码是本身普通用户的密码!(指令提权操作)
那我们回来想一下,我们只需要提供自己的密码,那什么操作不都能够就行sudo提权行为吗?那还要root账号的作用是什么呢?
很显然,不能对任何人都有这样的操作的能力。一般普通用户是没有这样的权限的。那怎么能改变呢,怎么样一个特定的普通用户能够执行sudo的指令呢?
系统中存在白名单和黑名单。 白名单中是可以相信的用户,黑名单是直接不相信的。那在上文中说到的,直接输入普通用户的密码就是因为,这个普通用户配置过了,出现在白名单之中。
默认的普通用户目前无法执行sudo,后面文章中的vim中在进行讲解。

在这里插入图片描述
Linux中有三种“人”:1、拥有者 2、所属组 3、other
其中第一个root的位置表示的是拥有者 ,第二个root的位置表示所属组。
当只有自己的时候,大概率来说所属组就是自己本身,但后期也有可能是好几个人都分为一个小组,这样的话就不是一个人,也就会有组的感觉了。
那怎么没有other呢?因为other是谁并不清楚,所以判断other之前首先要判断拥有者和所属组,两个都不属于那就是other
如何理解组?
现实说例子:你是张三,你有一个不太熟的朋友,叫李四,不过也就是点头之交。同时呢,有一家公司,正好招了这两个人,同时又分配到不同的组里面进行赛马机制两个组需要互相比较完成度和实用性。但是呢这个公司有点穷,只能让两组的员工都在同一台机器之上进行开发。有一天张三的领导需要视察一下张三的工作进度。那如果此时没有所属组,那么文件夹就只能是张三的,那想要给领导看,就必须放一下权限,那这样的话就会让所有人都能看到,那此时的李四就有权利能够来看张三写的代码,那这样的话,也有可能李四会抄袭张三的代码,也有可能李四还会嘲笑张三的简陋的代码。
所以Linux系统中必须要有所属组的关系。这样的话,只需要将所属组的权限打开就能够让领导看到,同时李四组又不是张三组内的,所以李四看不到。同样的,如果李四想给领导看,也只需要把组打开就行,也不会被张三看到。
拥有所属组的概念能够方便我们再多人协作的时候更好的进行权限的管理。
root和普通用户的关系和这里的三种人是相互补充的。
前面的分类方式是一个大类,而后面的三种人是具体的每一个用户所代表的,两种表示方式不冲突,同时也能够展现其中的关系。

3、4、Linux中文件的权限

在这里插入图片描述
在上一个图中截取出来的,这就是文件的权限,一共有10个位置,第一个位置代表的是文件的类型。现在比较清楚的是文件夹的类型是:普通文件:-。 文件夹文件:d
那剩下来的9个字符又有什么细节呢。
首先介绍一下文件属性的三种权限:r :读 。w:写。 x:可执行权限
由于在上一个小点中讲过,Linux中会有三个人的身份也正好 3*3=9,代表着后面的9个字符分别代表着拥有者,所属组,other的权限。
这样的话,上面的权限就能分为。
拥有者:rw-,能够读,写,但是不能执行
所属组:r–,只能够读,不能写和执行
other:r–,只能够读,不能写和执行
全部都开放权限的话应该是这样表示—“(文件类型)rwxrwxrwx”
所以一个人对于一个文件的权限首先是要确定对文件来说,这是一个什么样的人。

3、4、1、快速掌握修改权限的做法

一个文件的权限谁能修改?a、拥有者 b、root
利用chmod指令(changemode)可以更改权限。

//修改拥有者权限
chmod u-r/w (文件名):对于这个文件的user(拥有者)减去r的权限/w的权限
chmod u+r/w (文件名):对于这个文件的user(拥有者)加上r的权限/w的权限
chmod u-rw (文件名):对于这个文件的user(拥有者)减去r的权限和w的权限
//修改所属组权限
chmod g-r/w (文件名):对于这个文件的group(所属组)减去r的权限/w的权限
chmod g+r/w (文件名):对于这个文件的group(所属组)加上r的权限/w的权限
//修改other权限
chmod o-r/w (文件名):对于这个文件的other减去r的权限/w的权限

//更改多个人的权限
chmod u-w,g-w (文件名):对于这个文件的user和group都监区写的权限
//删除所有人的权限
chmod u-rwx,g-rwx,o-rwx(文件名)
chmod a-rwx(文件名)
//所有人加上r权限
chmod a-r(文件名)

这里的rwx的顺序是无所谓的,但是嗯还是建议按照顺序写,防止出现预料之外的情况。

3、4、2、对比权限有无的表现

当对一个对于所有人都删除权限的文件来说。不管是cat读文件,echo “hello”>(文件名)写文件,还是./(文件名)运行文件都是不行的。
不能进行的时候会返回

Permission denied

当我们加上w的权限时,我就能用echo来进行写入。
当我们加上r的权限时,我就能用cat来进行读取。
当我们加上x的权限时,我们能用./来运行。

可是root不是超级管理员吗,那root能在这个文件对于谁都没有权限的时候进行操作吗?
当我们是root的时候,进行上面的对于文件的操作的时候,发现并没有访问不允许,所以对于root账号来说,不受权限的约束,无论文件的权限是什么,都不妨碍root账号对于文件的修改。
Linux对用户身份进行识别的时候,只能识别一次。意思就是说有可能一个用户即是拥有者也是所属组,但是当拥有者什么权限都没有,但是所属组都有程序的时候,用户也还是什么都访问不了。就是因为Linux对用户识别一次的特点。

3、4、3、修改权限的第二套做法

由于权限的含义是 用户角色(具体的人)+文件权限属性
在刚刚的修改权限的操作方法,都是修改文件权限属性的。那我们能不能更改用户的角色呢?(就是相当于把文件的拥有者和所属组给别人)
但是我们为什么身为文件的拥有者,却不能把文件拥有者改成其他人呢?**其实相对于现实来说的话,你把一个东西给别人也是需要别人的同意的,并不是说直接给别人就要。**所以我们要是想进行这样的操作的话就不能用普通用户来,但是要是不想经过别人的同意,想要直接传递的话,就需要用到sudo/su提权变为root来帮助我们进行文件权限的改变。

sudo chown (用户名) (文件名):将文件的拥有者改变
sudo chgrp (用户名) (文件名):将文件的所属组改变
sudo chown (用户名:用户名):将文件的拥有者和所属组改变

怎么不见修改other的指令呢?那是因为不需要,排除了拥有者和所属组,剩下来的就剩下other,只要改了拥有者和所属组,other就会改变。

3、4、4、文件属性表达方式并利用二进制继续修改权限

利用ls能够看到文件的细致的属性,其中的rwx更是代表的文件三个特性。
由于三种特性只有0,1的特性,我们也能够将其看作是三个二进制表示的数。就比如说
666代表的三个二进制是110110110,再翻译一下,其中的1代表的是真,0是假,那么最后的话,这个文件的特性就是“-rw-rw-rw-”

chmod 000 (文件名)//这就是能够直接把这个文件修改成“----------”
chmod 777 (文件名)//给每一个人都赋予最高的属性

3、4、5、文件类型

首先从熟悉的系统开始看起。
Windows中怎么区分文件类型的呢?后缀名来帮助判断。
但是Linux不通过后缀来区分文件类型。(不是说Linux不能用后缀,只不过是改变后缀对于文件种类也不会有影响)
Linux中通过ls -l时展现出的第一个最开始的第一个字符来判断。

Linux文件类型表示方式
普通文件,文本文件,可执行程序,库-
目录文件d
块设备文件b
字符设备文件c
管道文件p
链接文件l

大多数情况下前两个是重要的,后面相对而言对于编程的话不是那么的常见。但是还是需要了解一下的。
对于块设备文件,最典型的代表是磁盘。
对于字符设备文件,由于显示器打印的时候123在屏幕上显示的时候也还是1,2,3的三个字符而已,所以显示其就是最典型的。
管道文件有点不好讲,学到管道在细讲
对于链接文件,就像是在Windows上删除软件的时候,拖拽到回收站的时候删除的只是快捷方式并是真正的删除掉文件。所以删除的快捷方式也就是相当于是其中的链接文件。

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

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

相关文章

排序——归并排序及排序章节总结

前面的文章中 我们详细介绍了排序的概念,插入排序,交换排序与选择排序,大家可以通过下面的链接再去学习: ​​​​​​排序的概念及插入排序 交换排序 选择排序 这篇文章就详细介绍一下另一种排序算法:归并排序以及…

ubuntu 虚拟机扩容

在使用vmware创建的ubuntu虚拟机进行linux开发时,安装了docker容器,编译会占用很大的磁盘空间,不想创建新的更大空间的虚拟机linux系统,可以通过gparted图形化工具进行扩容,以下是操作方法 虚拟机设置,扩展…

k8s核心操作_存储抽象_K8S中使用Secret功能来存储密码_使用免密拉取镜像_k8s核心实战总结---分布式云原生部署架构搭建033

注意在看的时候一定要把 dxxxx中的xxxx换成--o----c----k----e----r 然后我们再来看一个k8s中的secret的功能,这个功能 用来存储密码的,configMap是用来存配置的 比如我们有个pod,他的镜像,如果是需要密码的,那么 我们现在是从公共仓库拉取的,如果我们从私有仓库拉取,有密码…

rust + python+ libtorch

1: 环境,ubuntu 1.1 rust : rust-1.79.0 (在官方下载linux版本后,解压文件夹,内部有个install的sh文件,可安装) 安装成功测试:cargo --version 1.2 python3.10 (直接使用apt install pytho…

YOLOv8改进 | 检测头 | 融合渐进特征金字塔的检测头【AFPN4】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…

【HZHY-AI300G智能盒试用连载体验】RTC示例程序测试

本文首发于:【   】【HZHY-AI300G智能盒试用连载体验】 智能工业互联网网关 - 北京合众恒跃科技有限公司 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) HZHY-AI300G智能盒默认的系统是Ubuntu,这样非常方便使用,接上USB键盘和…

卷积与图像卷积操作

什么是卷积 教材上的卷积公式如下图: 结合经典的水池问题来说明卷积公式: f(t)代表进水量,表示t时刻进入的水量g(x-t)代表排水量,表示t时刻进入的水量,在x时候还剩多少(%) 上面说的只是特殊情况…

连锁零售门店分析思路-人货场 数据分析

连锁零售门店分析思路 以下是一个连锁零售门店的分析思路: 一、市场与竞争分析 二、门店运营分析(销售分析) 三、销售与财务分析 四、客户分析 五、数字化与营销分析 最近帮一个大学生培训,就门店销售分析 ,说到门店…

实验07 接口测试postman

目录 知识点 1 接口测试概念 1.1为什么要做接口测试 1.2接口测试的优点 1.3接口测试概念 1.4接口测试原理和目的 2 接口测试内容 2.1测什么 2.1.1单一接口 2.1.2组合接口 2.1.3结构检查 2.1.4调用方式 2.1.5参数格式校验 2.1.6返回结果 2.2四大块 2.2.1功能逻辑…

Talk|清华大学袁天远:PreSight - 利用NeRF先验帮助自动驾驶场景在线感知

本期为TechBeat人工智能社区第605期线上Talk。 北京时间7月3日(周三)20:00,清华大学博士生—袁天远的Talk已经准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “PreSight - 利用NeRF先验帮助自动驾驶场景在线感知”,他向大家介绍了新…

【送书活动十期】从零开始node.js制作CLI工具

这篇博客的由来是源于工作中一个java项目的配置项是加密后的私钥,私钥是由其他项目中调用web3生成随机账号得到的,而加密方法只是简单在java项目中执行代码得到。这便导致两步操作有点割裂,需要有一个脚本来完成生成私钥和加密私钥&#xff0…

vue使用audio 音频实现播放与关闭(可用于收到消息给提示音效)

这次项目中因为对接了即时通讯 IM,有个需求就是收到消息需要有个提示音效,所以这里就想到了用HTML5 提供的Audio 标签,用起来也是很方便,首先让产品给你个提示音效,然后你放在项目中,使用Audio 标签&#x…

【深度学习教程】

文章目录 李宏毅-机器学习/深度学习https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.phphttps://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.phphttps://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.phphttps://speech.ee.ntu.edu.tw/~hylee/genai/2024-spring.php 李宏…

如何通过网络快速搜寻到自己的STM32设备

目录 一、问题概述 二、解决思路 三、代码实现 1.创建任务 2.UDP广播接收 一、问题概述 以前一直用RS232串口修改设备配置信息,但是现场施工人员的232线太细,经常容易断掉,这次准备用网口去修改,遇到了一个问题,…

allure_pytest:AttributeError: ‘str‘ object has no attribute ‘iter_parents‘

踩坑记录 问题描述: 接口自动化测试时出现报错,报错文件是allure_pytest库 问题分析: 自动化测试框架是比较成熟的代码,报错也不是自己写的文件,而是第三方库,首先推测是allure_pytest和某些库有版本不兼…

新手教学系列——简单的服务配置项集中管理

前言 在开发和运维过程中,配置管理是一个非常重要但经常被忽视的环节。常用的配置文件格式包括env、ini和yaml等,它们非常适合模块级别的系统配置,尤其是一些敏感信息的配置,例如数据库连接字符串和密码等。但是,对于…

【文心智能体】前几天百度热搜有一条非常有趣的话题《00后疯感工牌》,看看如何通过低代码工作流方式实现图片显示

00后疯感工牌体验:https://mbd.baidu.com/ma/s/6yA90qtM 目录 前言比赛推荐工作流创建工作流入口创建工作流界面工作流界面HTTP工具卡点地方 总结推荐文章 前言 前几天百度热搜有一条非常有有趣《00后疯感工牌》。 想着通过文心智能体去一键生成00后疯感工牌是不是…

大语言模型在病理AI领域的应用·1|24-07-17·文献速递

小罗碎碎念 今日文献主题:大语言模型技术在病理组学中的应用 这次从厦门开会回来以后,一直在思考大语言模型在病理AI中的一个应用场景,为了辅助自己得出一个科学的结论,我搜集了最新发表的30篇与之相关的文献,用6期推文…

【解决】多个网卡导致nacos注册的服务ip有误问题

解决办法 在本地idea中启动的时候添加启动配置: 方法一 -Dspring.cloud.inetutils.preferred-networks你自己网卡的ip 方法二 -Dspring.cloud.nacos.discovery.ip你自己网卡的ip

封装网络请求 鸿蒙APP HarmonyOS ArkTS

一、效果展示 通过在页面直接调用 userLogin(params) 方法,获取登录令牌 二、申请网络权限 访问网络时候首先需要申请网络权限,需要修改 src/main 目录下的 module.json5 文件,加入 requestPermissions 属性,详见官方文档 【声明权…