权限-vim

shell

shell 运行原理 --- 外壳程序

我们是如何访问操作系统的呢??? windows下是通过图形化界面 ,而Linux下则是通过命令行(指令操作) 。

那么图形化界面和指令操作又是什么呢??? 其实它们是操作系统提供的外壳程序!!!

那么外壳程序的意义是什么?

1.是用户和操作系统交互中间软件层。

2.可以在一定程度上起到保护操作系统的作用!!

shell外壳程序

操作系统

硬件驱动

硬件

shell (外壳程序)也可以定义为命令行解释器 :

1.将使用者的命令翻译给核心(kernel)处理。

2.同时,将核心的处理结果翻译给使用者。

如何查看自己的外壳程序??

[root@VM-4-14-centos ~]# echo $BASH /bin/bash [root@VM-4-14-centos ~]# ls /bin/bash /bin/bash [root@VM-4-14-centos ~]# ls /bin/bash -al -rwxr-xr-x 1 root root 964536 Apr 1 2020 /bin/bash

bash 是一个文件,执行起来死循环。会不断打印这个

[root@VM-4-14-centos ~]#

shell 和 bash 又是什么关系呢??

shell是外壳程序的统称,而bash 是一个具体的外壳程序。

权限

接下来进行对权限的分析。

Linux 是一个多用户操作系统!

用户: root 和普通用户

root 只有一个,具有Linux下的最高权限(一般不受权限约束);普通用户可以有多个,会受到权限的约束。

那我们在进行用户切换的过程中,也就是在切换我当前的权限。

注意:su 和 su- 存在区别。

su - 相当于重新登陆root,起始路径为默认路径,但是su 它的起始路径为原用户的当前路径。

[hang@VM-4-14-centos 1]$ pwd /home/hang/1 [hang@VM-4-14-centos 1]$ su Password: [root@VM-4-14-centos 1]# pwd /home/hang/1 [hang@VM-4-14-centos 4]$ pwd /home/hang/1/2/3/4 [hang@VM-4-14-centos 4]$ su - Password: Last login: Thu Aug 11 18:34:44 CST 2022 on pts/0 [root@VM-4-14-centos ~]# pwd /root

权限是针对人的。事物的基本属性(事物可以天然进行的动作)决定权限相关的概念。

权限的核心 = 人 + 事物属性( r w x)

[hang@VM-4-14-centos ~]$ ls -al total 36 drwx------ 5 hang hang 4096 Aug 11 18:33 . drwxr-xr-x. 4 root root 4096 Aug 11 18:12 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 1 -rw------- 1 hang hang 424 Aug 11 18:44 .bash_history -rw-r--r-- 1 hang hang 18 Apr 1 2020 .bash_logout -rw-r--r-- 1 hang hang 193 Apr 1 2020 .bash_profile -rw-r--r-- 1 hang hang 231 Apr 1 2020 .bashrc drwxrwxr-x 3 hang hang 4096 Aug 11 18:13 .cache drwxrwxr-x 3 hang hang 4096 Aug 11 18:13 .config

从左到右依次是 文件类型 (此跳过) 操作权限(拥有者 所属组) 文件大小 时间 文件名。

gcc是Linux 环境下的一个软件,但是 gcc == Linux????

[hang@VM-4-14-centos 4]$ gcc test.txt test.txt: file not recognized: File format not recognized collect2: error: ld returned 1 exit status

答案显然是不等于。

用户可以分为哪些类型呢???

owner 拥有者 : 文件属于谁

grop 所属组 :文件所属的哪一个组

other 其他 : 不属于上面的任何一个

注意权限只会认证一次。

r w x 的位置是绝对确定的 。

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

写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

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

- 代表不具有该属性

更改拥有者 或者 所属组需要提升权限 chown(own) , chgrp (grop)

[root@VM-4-14-centos 1]# chown root test.txt [root@VM-4-14-centos 1]# chgrp root test.txt [root@VM-4-14-centos 1]# ls -al total 12 drwxrwxr-x 3 hang hang 4096 Aug 12 09:30 . drwx------ 5 hang hang 4096 Aug 11 18:33 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 2 --wx-w---- 1 root root 0 Aug 12 09:30 test.txt

更改属性有两种方法 第一种 ugo+- (如果是普遍性的 ,可以用 a- rwx )

第二种 八进制方案 rwx 《====》 111

hang@VM-4-14-centos 1]$ ls -al total 12 drwxrwxr-x 3 hang hang 4096 Aug 12 09:30 . drwx------ 5 hang hang 4096 Aug 11 18:33 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 2 -rw-rw-r-- 1 hang hang 0 Aug 12 09:30 test.txt [hang@VM-4-14-centos 1]$ chmod u+x,u-r test.txt [hang@VM-4-14-centos 1]$ ls -al total 12 drwxrwxr-x 3 hang hang 4096 Aug 12 09:30 . drwx------ 5 hang hang 4096 Aug 11 18:33 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 2 --wxrw-r-- 1 hang hang 0 Aug 12 09:30 test.txt

[hang@VM-4-14-centos 1]$ ls -al total 12 drwxrwxr-x 3 hang hang 4096 Aug 12 09:30 . drwx------ 5 hang hang 4096 Aug 11 18:33 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 2 --wxrw-r-- 1 hang hang 0 Aug 12 09:30 test.txt [hang@VM-4-14-centos 1]$ chmod u+r test.txt [hang@VM-4-14-centos 1]$ ls -al total 12 drwxrwxr-x 3 hang hang 4096 Aug 12 09:30 . drwx------ 5 hang hang 4096 Aug 11 18:33 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 2 -rwxrw-r-- 1 hang hang 0 Aug 12 09:30 test.txt [hang@VM-4-14-centos 1]$ ls a-r test.txt ls: cannot access a-r: No such file or directory test.txt [hang@VM-4-14-centos 1]$ chmod a-r test.txt [hang@VM-4-14-centos 1]$ ls -al total 12 drwxrwxr-x 3 hang hang 4096 Aug 12 09:30 . drwx------ 5 hang hang 4096 Aug 11 18:33 .. drwxrwxr-x 3 hang hang 4096 Aug 11 18:34 2 --wx-w---- 1 hang hang 0 Aug 12 09:30 test.txt [hang@VM-4-14-centos 1]$


常见面试问题

1.目录权限

进入一个目录,需要什么权限?x

查看目录下的文件列表?r

要在目录下创建文件或者目录?w

2.umask

linux默认:一个目录被创建,起始权限是从 :777

一个普通文件被创建,起始权限是从:666

起始权限并不等于最终权限

umask 权限掩码 凡是在umask中出出现的权限,都不应该在最终权限中出现。(注意,并不是通过减法来实现的,而是通过 起始权限 & ~ umask 实现的 )

3.粘滞位

当多个目录共享一个目录,需要在目录下进行读写,创建删除等动作。并且自己删除自己的,而不能删除别人的(w 可以互删的 ,但是不满足条件)

于是就引入了 粘滞位的概念 chmod +t 文件名

需要注意的是: 粘滞位只能给目录设置! 一般是谁设置。谁取消(root)


初步认识一下vim

vim编辑器 -》只负责写代码 -》 是一款多模式的编辑器

命令模式:

  1. yy :将当前光标所在的行,复制 支持nyy
  2. p :将复制进行粘贴 支持np
  3. dd :将当前光标所在的行,剪切(删除) 支持ndd
  4. u:撤销操作
  5. ctrl + r :反撤销
  6. shift + g :光标定位到文件的结尾
  7. gg :光标定位到文件的最开始
  8. n + shift + g : 将光标定位到文件的任意行
  9. w,b :以单词为单位进行光标的前后移动。
  10. h j k l :左 , 下 , 上 ,右
  11. shift + 6( ^ ) :将光标定位到当前行的最开始
  12. shift + 4( $ ) :将光标定位到当前行的最结尾
  13. shift + ~ :大小写替换
  14. r :替换所在的字符 支持nr
  15. shift + r :进入替换模式
  16. shift + x : 删除光标所在的字符,包括之前和之后 支持nx
  17. s/vivian/sky/ 替换当前行第一个 vivian 为 sky
  18. :s/vivian/sky/g 替换当前行所有 vivian 为 sky
  19. :s 表示substitute,也就是替换, 格式为以下

:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]

range 表示区间 % 用于表示全文, 2,3 表示从第2行开始到第3行

{pattern} 表示字符串匹配规则,要匹配什么样的字符串 , 比如^a 表示以a字符起始的字符串

{string} 表示要将匹配到的字符串替换为的新的string字符串

[flags] s_flags中,g比较常用,通常使用g表示全部替换,默认如果不给的话,表示只替换一次

[count] 表示在一行中匹配多少次,很少会用到....

如果想要将文件中所有 nihao 替换为 hello 则命令为: %s/nihao/hello/g

:p 用于打印指定区间的行

:[range]p[rint] [flags]

:i 在指定行上方添加文本

:{range}i[nsert][!]

  1. 在vim下批量注释和删除

esc进入命令模式,ctrl v进入视图模式,hjkl移动选中,I 进入insert模式,输入//,然后esc

esc进入命令模式,ctrl v进入视图模式,hjkl移动选中,d,然后esc

底行模式:

  1. set nu/nonu :打开行号或者取消行号
  2. w :写入 w!
  3. q : 退出 q!
  4. !cmd : 不退出 vim 执行对应的命令 (执行命令行 , 编译,运行 ,查看man )等
  5. vs 文件名: 分屏操作(CTRL+ ww)
  6.  在末行模式下,键入:x! 保存并退出编辑,仅当文件有修改时会保存,并修改文件时间属性

配置vim

手动配置 在用户的默认路径下 创建一个 .vimrc 自行搜素进行配置

.vim 将插件添加进来

自动配置 gitee vimforcpp

sudo 权限设置

[root@VM-4-14-centos 1]# vim /etc/sudoers


程序翻译的过程

文本的C -> 计算机二进制

  1. 预处理(去注释,宏替换,头文件展开,条件编译...)
  2. 编译(c ->汇编)
  3. 汇编(汇编 ->可重定向二进制目标文件)
  4. 链接(链接多个 .o ,.obj ->合并形成一个可执行) .exe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值