目录

Linux 体系结构

芯片结构、CPU 架构

uname ‒r 指令

shudown命令

服务器(硬件/云实例)

操作系统(Linux/Windows)

shell命令以及运⾏原理

命令行的解析器(外壳shell):

为什么要存在外壳程序:

Linux权限的概念

sudo

权限

权限 = 角色 + 属性(Linux下一切皆文件,面对的文件则有读,写,执行的权利)

角色:

为什么要有所属组?

属性:

改权限chmod

目录的三个权限的作用

Linux多用户之间是相互“隔离”的

默认权限

umask目的是什么:

为什么要有umask:

那若两个用户之间要进行文件级别的协作呢

权限标志位:t(粘滞位)

Linux 体系结构

这是整台 Linux 系统的全套分层结构:

  1. 用户层(软件、命令、你的程序)
  2. 系统调用,库(过渡层)
  3. Linux 内核层(内核态,管控硬件)
  4. 硬件层(CPU、内存、磁盘,遵循 CPU 架构)

芯片结构、CPU 架构

  • 属于硬件体系结构
  • 规定:CPU 怎么设计、指令怎么写、寄存器、总线、缓存、流水线

CPU 架构 = 硬件的规矩,芯片长什么样、能听懂什么指令。

内核架构 = 系统最核心软件的内部组织结构。

uname ‒r 指令

功能: uname⽤来获取电脑和操作系统的相关信息。

补充说明:uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息。

常⽤选项:

  •  -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理
  • 器类型,硬件平台类型,操作系统名称
  •  lsb_release -a:查看操作系统版本
  • uname -r:查看内核版本及对应的体系结构

shudown命令

Linux系统的关机/重启命令

作用于当前运行的Linux操作系统本身 --> 最终让整个服务器关机

执行 shutdown -h now

① 云服务器直接关机停机

  • 远程连接直接断开
  • 网站 / 项目全部下线
  • 不会自己开机
  • 必须去阿里云 / 腾讯云 / 华为云控制台,手动点「开机」才能恢复

② 和本地电脑区别

本地电脑关机,按电源键就能开;云服务器关机后,只能在网页后台手动开机。

服务器是运行Linux的载体

执行后,Linux系统停止运行 --> 服务器停止

服务器(硬件/云实例)

比喻:房子

技术本质:提供计算,存储,网络的硬件资源(CPU,内存,硬盘,网卡)

操作系统(Linux/Windows)

比喻:家里的家具(让房子能住人)

技术本质:管理硬件资源,运行应用程序的系统软件

shell命令以及运⾏原理

Linux严格意义上说的是⼀个操作系统,我们称之为“核⼼(kernel)“ ,但我们⼀般⽤⼾,不能直接

使⽤kernel。⽽是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。

外壳程序打印的命令行

命令行的解析器(外壳shell):
  1. 将使用者的命令翻译给核心处理
  2. 同时,将核心的处理结果翻译给使用者
为什么要存在外壳程序:
  1. 方便用户的操作
  2. 保护内核:外壳程序以进程的形式呈现;新命令到来,就创建新的子进程(子进程异常仅自身终止,不影响父 Shell 外壳,也不损坏操作系统内核)

Linux权限的概念

Linux中的用户:root用户(超级管理员,权限高)or 普通用户(权限低,受管控)

可以把自己写的命令安装(本质就是拷贝)在系统中(如:ls命令本质是一个可执行文件):但系统目录只有root用户才有写入权限

普通 ->  超级用户:su                   ctrl + d:退出用户

                                su -:以root身份重新登录,且所处的路径会到root的家目录下;不加‘-’则会在原目录下切换用户

查看任意文件夹的绝对路径:realpath (文件名)

which:在path包含的目录里,找符合名称的可执行文件

创建新用户wx

adduser wx

普通用户用超级用户的身份创建文件

sudo touch root.txt

报错:

原因:用户 wx 还没有被加入管理员(sudo)用户组,没有权限执行 sudo 命令

解决方法:

  • 先切回 root 用户:

    su - root
    
  • wx 用户添加 sudo 权限,执行这条命令:

    usermod -aG sudo wx
    
  • 验证一下是否添加成功:

    id wx

成功则输出:

输入的密码是普通用户的

sudo

是用来进行指令的暂时提权

如:安装软件,安装到系统中,需要管理员root权限(只安装了一份,允许所以用户同时使用)

权限

本质:能或不能做某些事

作用:

  1. 控制用户的行为,防止错误的发生
  2. 理解:权限首先限制的是人(如:学生不能进校长办公室)

权限要求目标必须具备对应的属性

权限 = 角色 + 属性(Linux下一切皆文件,面对的文件则有读,写,执行的权利)
角色:
  1. 拥有者 
  2. 所属组
  3. other

两个root,第一个root处是拥有者的位置,第二个是所属组的位置

为什么要有所属组?

更精细的权限划分,首先要更精细化的角色

属性:
  1. r:读
  2. w:写
  3. x:可执行

第一位的d表示为目录;后面的三个是所属者拥有的权限读写可执行;接着三个为所属组的权限写可执行;最后三个为其他用户的权限可执行

对权限进行操作:对角色或者目标属性

改权限chmod

如:拥有者和所属组均为root的普通文件

让其他人不能读:u(拥有者);g(所属组);o(其他人)

-(去权限);+(添加权限)

su:Switch user

sudo:superuser do

chmod:chang mode

chown:change owner(可改文件、目录的拥有者,所属组)

修改权限,让拥有者不能读写

读的时候看不见文件的内容,写入就会报错

但文件的拥有者和所属组均为wx,而作为所属组的wx不是可以读写吗?

原因是确定权限信息时,系统会先确定用户是谁。用户角色确定只会确定一次。如果已经确定用户是拥有者,那么即使他同时也是所属组有拥有者没有的权利,那也是摆设

把拥有者改为root,这样wx用户就被判为所属组,可以读写

 用户只能更改自己的文件权限

root用户的权限,不受权限约束

目录的三个权限的作用

进入一个目录,需要x(可执行)权限

没r权限,无法ls查看改目录里的内容

没w权限无法在其目录内部创建文件

(若有rw,但无x权限,也不能进入,查看,创建)

注:若目录仅有w权限,则无实际作用。必须同时具有x才能创建/删除文件

Linux多用户之间是相互“隔离”的

新建用户,本质上是在/home中创建一个文件夹

默认权限

为什么文件/目录新建后是那些默认权限

系统会默认存在一个叫做权限掩码的概念

umask查看掩码

002 ——> 000000010(八进制)

最终权限 = 起始权限:&(~umask)     按位与&,按位取反~

如:对于文件来讲:起始权限为777,默认权限为775

umask目的是什么:

希望凡是umask中出现的权限,都不应该在最终权限中出现

为什么要有umask:
  • 默认权限,有os(操作系统operator system)自主决定:新建文件/目录的默认权限,是由操作系统通过umask规则来计算的
  • 通过配置umask,可以灵活控制默认权限。(修改:umask 000 ——> 默认所以权限开放。是内存级的,下次打开会恢复为默认)

一个文件是否能被删除,与文件本身无关,与文件所处的目录有关

用户之间是隔离的(用目录权限)

那若两个用户之间要进行文件级别的协作呢

此文件不能放在任何一个私人账号里

如:创建在根目录下(或tmp目录中)。权限为rwxrwxrwx

共享类文件,不想让非文件的拥有者删除对应的文件

——> 需求:任何一个人都能在目录中新建,但又不能让非拥有者删除

权限标志位:t(粘滞位)

粘滞位t的本质:只能给需要共享的目录添加

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐