【Linux】Shell命令运行原理和权限详解

这篇具有很好参考价值的文章主要介绍了【Linux】Shell命令运行原理和权限详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、剩余指令的补充

1.tar指令

  1. tar指令(重要):打包/解包,不打开它,直接看内容
  2. 语法:tar [-cxtzjvf] 文件与目录 … 参数:
    常用的为:

(1)-c :建立一个压缩文件的参数指令(create 的意思);

(2)-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩

(3)-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数

(4)-v :压缩的过程中显示文件!

(5)-x :解开一个压缩文件的参数指令!

(6)-C : 解压到指定目录

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
我们一般用-czf就够了!
-v把打包的过程显示出来:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
3. tar的解压:只需将-czf / -cvzf 中的 c 变成 x 即可!
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
总结:
(1)zip和tar都是:打包
(2)unzip和tar都是:压缩

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

2.bc指令

Linux下的计算器:
如果退出要么:Ctrl+C / quit + 回车
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
通过重定向(echo)和管道(|)算一串连续的数字:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

3.uname

1.uname:查Linux下的系统架构:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

4.热键

(1)Ctrl+C :终止命令。
(2)Tab键:具有命令补齐的功能!

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
(3)按两次Ctrl+D 就直接退出关闭XShell
(4)Ctrl+R:在历史命令中进行搜索

二、Shell命令运行原理

1.Shell

Linux作为一个操作系统,称为"kernel",一般用户不能直接使用kernel,而通过"kernel"的外壳程序"Shell"和kernel进行沟通。

    所以广义上Linux发行版=Linux内核+外壳程序,狭义上Linux发行版=Linux内核。

Shell作为外壳程序,包裹在Linux内核外层,是一个应用程序,通过一系列的Linux命令对操作系统 发出相关治疗提供人际界面。它连接了用户和Linux内核,让用户更加高效、安全、低成本地使用Linux内核,这就是Shell的本质。bash是Shell的一种。

Shell命令的执行过程:

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

Shell有两个作用:

(1)传递请求指令,让操作系统执行命令

(2)保护内核

2.为什么Linux不让用户直接使用kernel

对比windows GUI,用户操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成用户操作(比如进入D盘的操作,用户通常通过双击D盘盘符而进入D盘)。
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
shell 对于Linux,有相同的作用,主要是对用户的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

三、Linux权限概念

  1. 权限与人扮演的角色有关,权限也与事物的属性有关权限==人(角色)+ 事物的属性!
  2. 在Linux下有两种用户,一是超级用户(root),二级是普通用户,超级用户与普通用户的命令提示符不一样:超级用户的命令提示符是"#“,普通用户的命令提示符是”$"。
  3. 超级用户:root 可以在Linux下做任何事情不受限制!
  4. 超级用户与普通用户之间可以相互切换(但是如果你普通用户切换到超级用户系统会让你输入一个密码,这个密码是root的密码,但是你root切换到普通用户不需要输入任何密码
    【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

四、Linux权限管理

1.文件访问的用户分类

  1. 文件访问的用户分类,分为3类:

(1)拥有者:User(u)

(2)所属组:Group(g)

(3)other:Other(o)

2.文件类型和访问权限

(1)文件类型

​​​​​​​在Linux中,不以文件后缀作为区分文件类型的方式,而是以文件详细列表的第一位进行标识区分:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
在Linux中,我们现阶段只学常用的文件类型有:

d:目录文件
-:普通文件(包括文本、各种静态库、可执行程序、源程序)

  1. 众所周知,windows是如何区分文件类型的,就是通过后缀名,但是Linux不通过后缀来区分文件类型,但是Linux并不是说不用后缀。( Linux区分文件类型是根据前面的第一列字符,现在就知道 - (普通文件)和 d (目录文件)就行了
    【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
    我们对Linux中文件后缀的态度是可以使用,但并不代表Linux系统下的工具不用后缀来做区分,比如说编译器gcc就需要以后缀名来区分文件类型。
    【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

(2)访问权限

linux对文件有3种访问权限:

r:read,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

w:write,对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

x:execute,对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

3.权限的表示方法

(1)字符表示法:

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
(1)快速掌握修改权限的做法:

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
(2)一次性加减多名角色的权限:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
(3)权限的访问对用户身份只识别一次,如果匹配成功,那么就结束识别!
按 拥有者->所属组->other的顺序进行匹配!
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
(1)如何证明Linux对用户身份只识别一次?

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
对用户身份只识别一次:如果匹配成功就按成功的来,如果对拥有者匹配不成功就自动匹配所属组,如果两个都不成功,那就说明是other。
注意:“识别”和“匹配”不一样!!!(匹配成功那才叫识别了一次!)

(2)八进制表示法:

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

4.权限的设置

(1)chmod修改文件访问权限

只有文件的拥有者和root可以设置文件的访问权限:

chmod 【参数】 权限 文件名

①用户符号+/-/=权限字符:

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

(2)chown修改文件拥有者

修改文件拥有者:

chown 【参数】 用户名 文件名

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

(3)chgrp修改文件或者目录的所属组

chgrp 【参数】 用户组名 文件名

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

chmod chown chgrp 的语法总结:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

(4)umask查看或者修改文件掩码

新创建一个文件,访问权限按理来说,应该是777,但是却发现新创建的目录的权限是755:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
umask:是Linux中的默认权限掩码
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

(5)目录的权限

①可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容。
②可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。
③可执行权限: 如果目录没有可执行权限, 则无法cd到目录中
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器

(6)粘滞位

在root的根目录下,有一个tmp文件夹,这个文件夹下存放的是临时文件,用户在保存文件之前,文件都存放在tmp文件夹中,这个文件夹下存放用户的临时文件,可以看到它的权限有个t:
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
这个文件夹对拥有者和所属组的权限都是rwx,对other的权限是rwt。这个t是什么属性?和r、w、x有什么区别?

先来看下面的例子,root用户在根目录下创建了一个文件夹test,并在这个文件夹中创建了2个文件test1和test2,然后又root用户切换为yjl用户,此时发现yjl竟然可以删掉test中的文件:

【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
这怎么能忍,我创建的文件,怎么能够被别人随随便便的删除掉了?test的目录对other有w和x的权限,一旦有w的权限,那么也就是说other可以对他进行创建文件和删除文件的操作,但是不希望一个用户创建的文件被别的用户删除删除掉,我们该怎么办呢?在这种场景下我们就需要粘滞位。

当一个目录被设置了粘滞位以后,即使用户对该目录有写的权限,但是也不能删除该目录中其他用户的文件。只有文件的拥有者和root用户才可以删除。这就达到了各个用户可以在目录中读,写,修改,删除文件,但是不能随意的删除其他用户的文件的目的。
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器
但是最后发现他报错了,你没有访问权限。

因此,当一个目录被设置为"粘滞位"(chmod +t),则该目录下的文件只能由
(1)超级管理员删除
(2)该目录的所有者删除
(3)该文件的所有者删除


好了,今天的分享就到这里了
如果对你有帮助,记得点赞👍+关注哦!
我的主页还有其他文章,欢迎学习指点。关注我,让我们一起学习,一起成长吧!
【Linux】Shell命令运行原理和权限详解,Linux,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-839620.html

到了这里,关于【Linux】Shell命令运行原理和权限详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】Shell 命令以及运行原理

    当用户登录 Linux 系统的时候,系统会给用户创建一个新的进程,一般叫做 bash(命令行解释器)。 Linux 严格意义上说的是一个操作系统,我们称之为 “核心( kernel )” ,但对于我们一般用户,是不能直接使用  kernel 的 。而是通过 kernel 的  “ 外壳 ”  程序,也就是所谓

    2024年01月22日
    浏览(40)
  • 【Linux】浅谈shell命令以及运行原理

    前言:上篇博文把linux下的基本指令讲解完了。本期我们聊聊Linux下【shell】命令及其运行原理。   目录 Shell的基本概念与作用 原理图展示  shell命令执行原理 Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通

    2024年02月03日
    浏览(35)
  • 深入篇【Linux】学习必备:Shell命令运行原理 + 基本指令

    Linux严格意义上来说是一个操作系统,我们称为\\\"核心\\\",但我们一般用户,是不能直接使用这个\\\"核心\\\"。而是通过\\\"核心\\\"的外壳程序,也就是所谓的Shell来与\\\"核心\\\"沟通。 其实我们所有的指令都要在OS内部运行,但是OS使用的难道太高,我们用户很难直接与OS打交道。 从技术角度

    2024年02月07日
    浏览(84)
  • Linux系统编程学习 NO.5 ——shell命令行的概念以及原理、权限的概念

    首先,用户下达指令需求。此时Linux操作系统的内核kernel,并不会直接接收用户下达的指令,因为操作系统不擅长跟用户打交道。那么指令要如何下达呢?这就命令行解释器来对用户的指令进行处理。 shell对于Linux主要是对指令进行解析,解析指令给Linux内核。反馈结果在通过内

    2024年02月06日
    浏览(51)
  • Linux 查询正在运行的shell脚本命令

    1.查看当前运行的所有进程。 ps -A 2.如果太多了找不到,看的眼花,可以加条件 grep是分组 查看正在运行的shell脚本的进程shell脚本就是 sh ps -ef |grep  sh 如图下面就是查询出来的所有sh脚本,看第三列就是脚本的进程UID,直接杀死UID就行    3.杀死进程UID kill  4491 如图 直接杀

    2024年02月12日
    浏览(49)
  • 【Linux】Shell脚本中获取命令运行的结果

    写shell脚本的时候,常需要将一个命令的运行结果做为参数传递给另外一个命令,除了我们熟知的管道 | 和args,我们也可以通过获取命令的运行结果。 执行结果: 来点复杂的应用: 再比如: 😉 运行结果: 把反引号``换成$()即可 反引号不支持嵌套,而 $ 支持嵌套。 举个例

    2024年02月11日
    浏览(38)
  • 【Linux的权限命令详解】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 shell命令以及运行原理 Linux权限的概念 Linux权限管理 一、什么是权限? 二、权限的本质 三、Linux中的用户 四、linux中文件的权限 4.1、文件访问者的分类(人) 4.2 文件类型和访问权限(事

    2024年01月20日
    浏览(35)
  • 【linux命令讲解大全】027.Linux权限管理详解

    显示给定模块的详细信息 bmodinfo 命令用于显示给定模块的详细信息。 -a :显示模块作者 -d :显示模块的描述信息 -l :显示模块的许可信息 -p :显示模块的参数信息 -n :显示模块对应的文字信息 -0 :用ASCII码的0字符分割字段值,而不使用新行 模块名:要显示详细信息的模

    2024年02月11日
    浏览(42)
  • Linux umask命令详解,Linux修改文件默认访问权限

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 作用: umask 命令用来控制 「权限掩码」 ,为新建的文件或目录设置一个 「初始权限」 。 文件/目录创建时的初始权限 = 默认权限 - 权限掩码 「查看」 当前用

    2024年02月07日
    浏览(55)
  • Linux系统运维:性能监视和分析工具sar命令详解

    目          录 一、sar工具介绍 二、sar工作原理 (一)原理概述 (二)sar数据收集器 三、sar命令语法 四、sar主要功能介绍 (一)功能概述 (二)CPU统计数据 (三)磁盘I/O统计数据 (四)网络统计数据 1、是使用-n DEV选项的sar输出 2、关于网络错误的信息可以用sar -n EDE

    2024年02月21日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包