自学内容网 自学内容网

Linux基于CentOS7【yum】【vim】的基础学习,【普通用户提权】

目录

yum生态

什么是yum 

yum是如何得知目标服务器的地址和下载链接

vim

vim模式

命名模式

光标移动 

插入模式

i键插

a键插

o键插

底行模式

批量化注释

批量化去注释 

创建vim配置文件

例子

高亮功能:

缩进功能: 

符号位自动补齐功能:

函数名自动补齐功能

自动配置

普通用户提权


yum生态
 

什么是yum 

yum就是Linux软件包管理器,就是相当于我们手机上的应用商店等内容,它是我们预装的指令

Linux中我们也要进行工具/指令/程序的安装,检查和卸载

打开Linux的yum软件列表

yum list

想要搜索某一特定软件,这里拿lrzsz举例

yum list | grep lrzsz
[root@VM-20-2-centos ~]# yum list | grep lrzsz
Repository epel is listed more than once in the configuration
lrzsz.x86_64                               0.12.20-36.el7         @os  

 卸载软件

yum remove 软件或命令

不同版本对应操作系统的区别是:我们曾经所构建出来的背靠的整个社区和生态的不同,使得我们各种操作系统方向的不同

yum是如何得知目标服务器的地址和下载链接

ls /etc/yum.repos.d/
        yum 仓库 目录

输入命令

vim /etc/yum.repos.d/CentOS-Base.repo 
# yum仓库

所以CentOS-Base是一个配置文件,当我们的yum要下载安装某物的时候,它会通过CentOS-Base去访问里面对应的列表里面的镜像文件

CentOS-Base可以承载国外的,也可以承载国内的,下载国外的文件会相对慢很多,因此可以考虑换国内的镜像文件

以阿里云的镜像服务为例子

下载网址:centos安装包下载_开源镜像站-阿里云

  1. 先复制拷贝一份CentOS-Base,拷贝的指令则为:
    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    拷贝指令:cp
    需要备份的文件:/etc/yum.repos.d/CentOS-Base.repo
    将其备份为:/etc/yum.repos.d/CentOS-Base.repo.backup



    备份的原因是:想要恢复时可以恢复
  2. 下载新的yum源文件
    wget -0  /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

    wget -0: 下载到指定文件
    下载指定文件的目的,即覆盖文件:/etc/yum.repos.d/CentOS-Base.repo 

    需要下载的文件:http://mirrors.aliyun.com/repo/Centos-7.repo
     
  3. 清除yum缓存,清除掉以前的yum源的缓存
    yum clean all

     
  4. 更新yum缓存
    yum makecache

安装epel-release        

yum install -y epel_release

CentOS-Base.repo是基础软件源,不能够随随便便将新的软件放进去,需要将其放在扩展软件源,等到一定的时间去信任这个软件,再把这个软件放到基础软件源里,这是能够维护基础软件源

而我们下载安装的epel.repo就是扩展软件源

vim

vim是多模式编辑器,vim还有很多子命令,可以进行代码的编写操作

vim模式

创建一个test.c文件

命名模式

vim打开的时候的默认模式,其中所有的输入都被当作命令来看待,除非误触了模式切换键

输入vim test.c 

 

光标移动 
shift +4 =$光标定义在当前行的最右侧处,锚点
shift + 6 = ^光标定义在当前行的最左侧处,锚点
shift + g将光标定义到文本的最结尾
gg将光标定义到文本的最开始
n+shift+g光标快速定义到指定行
h,j,k,jh : 左移        j :下移        k:上移         l: 右移
yy+p复制粘贴(yy相当于CTRL+C,p相当于CTRL + V)
n+yy复制多行
n+p粘贴多行
u撤销编辑操作,undo的意思
CTRL+r对撤销进行撤销
dd删除当前行,同时也支持n+dd,相当于剪切
shift + ~当前行大小写之间的转化
n + r + 字母当前行批量变成某个字母
shift + r替换模式
x删除光标所在字符
n + x连续删除光标(包括光标)所在的n个字符
shift + x向左侧开始删除,但不包括光标的这个字符
n + shift + x批量向左删除
w跨单词向后跳跃
b跨单词向前跳跃
shift + 3查找函数名

插入模式

i键插

在命令模式的背景下,当我们点击i的时候,就会变成insert,插入模式

a键插
o键插

插入模式返回命令模式:点击ESC

底行模式

在命令模式的前提下,shift + : 就能进入底行模式

退出的前提是,底行模式

wq :保存退出

! + shell命令,就可以直接进入命令

/ + 想要搜索的内容

set + nu : 加上行号

set + nonu : 去掉行号

底行模式回退到命令模式:ESC即可

底行模式和插入模式不能互相直接转换

批量化注释

步骤:

  1. CTRL + v
  2. 进行区域筛选,hjkl区域
  3. shift + i = I 
  4. 输入 //
  5. 按ESC

批量化去注释 

步骤:

  1. CTRL + v
  2. 进行区域筛选,hjkl区域
  3. 按 d

创建vim配置文件

首先要在当前用户下的家目录里创建存放vim配置文件的文件

Linux中如果有多用户,每个用户都可以设置他的 .vimrc       

系统root也有个vimrc

例子

配置行号:

打开vimrc

给它输入 set nu,保存

打开此文件
vim LinuxStudy/test.c

展示此效果
  1 #include<stdio.h>
  2 
  3 int main()
  4 {
  5         printf("hello vim\n");
  6         printf("hello vim\n");
  7         return 0;
  8 }
  9 

发现已经有了行号了

因此,我们可以配制出我们想要vim

高亮功能:

"高亮当前行"
set cursorline

"粗体显示选中行,用黑色框,字体用绿色标注"
hi Cursorline cterm=bold ctermbg=black ctermfg=green guibg=green

hi Cursorline cterm=bold ctermbg=black ctermfg=green guibg=green

这行配置定义了高亮当前行的样式。

hi:高亮命令

Cursorline:高亮组名

cterm:表示终端模式下的设置

cterm=bold:表示使用粗体

ctermbg=black:表示背景色为黑色

ctermfg=green:表示前景色为绿色

guibg=green:表示在图形界面模式下的背景色为绿色。

"开启语法高亮功能"
"syntax选项使得Vim能够根据文件类型识别并高亮显示代码中的关键字、注释等元素"
syntax on

缩进功能: 

"启用自动缩进功能,Vim会在新的一行自动插入与上一行相同的缩进"
set autoindent

"设置制表符(Tab)的宽度为4个空格。
意味着当按下Tab键时,Vim会插入4个空格"
set tabstop=4

"设置软制表符的宽度也为4个空格。
软制表止是指在插入模式下,Tab键的行为类似于按了4次空格键"
set softtabstop=4

"设置shiftwidth选项,
它定义了在进行自动缩进或使用>>和<<命令时,Vim将使用4个空格作为缩进的单位"
set shiftwidth=4

"启用C语言的自动缩进。
cindent是针对C语言的智能缩进插件,它会根据C语言的语法自动调整代码的缩进"
set cindent

"启用智能缩进功能。
smartindent会在新的一行根据代码的上下文自动插入适当的缩进"
set smartindent

符号位自动补齐功能:

inoremap ( ()<ESC>i
inoremap < <><ESC>i                                                                                               
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap " ""<ESC>i

函数名自动补齐功能

set completeopt=preview,menu 
  •  当你在Vim中输入代码并开始输入一个函数名或变量名时,可以使用Ctrl+N(或Ctrl+P)来触发自动补全。
  • 如果有多个匹配项,Vim会显示一个下拉菜单供你选择。
  • 同时,如果设置了preview,还会在一个小窗口中预览选中补全项的详细信息。

自动配置

1,在非root账户下,执行下列指令

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 

2,输入root密码

3,完成配置

普通用户提权

root账号下有个系统白名单,只有在白名单的普通用户,才能得到提权,否则不能被提权

我们可以尝试进去看看

ll /etc/sudoers
vim /etc/sudoers

为什么看不见呢:

  1. 我们不能随便让用户进行sodo提权
  2. 我们不能让用户随意的去修改sudoers文件 

必须经过root账号后才能对其进行访问

提权操作

vim /etc/sudoers

找到接近100多行,按照下面的图片,依葫芦画瓢即可

保存退出之后,回到原账号,使用sudo提权,就能成功了

以上便是本次博文学习内容,如有错误,还望各位大佬指点,谢谢阅读!


原文地址:https://blog.csdn.net/2301_76219154/article/details/140511969

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!