目录
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-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
备份的原因是:想要恢复时可以恢复- 下载新的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
- 清除yum缓存,清除掉以前的yum源的缓存
yum clean all
- 更新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,j h : 左移 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即可
底行模式和插入模式不能互相直接转换
批量化注释
步骤:
- CTRL + v
- 进行区域筛选,hjkl区域
- shift + i = I
- 输入 //
- 按ESC
批量化去注释
步骤:
- CTRL + v
- 进行区域筛选,hjkl区域
- 按 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
为什么看不见呢:
- 我们不能随便让用户进行sodo提权
- 我们不能让用户随意的去修改sudoers文件
必须经过root账号后才能对其进行访问
提权操作
vim /etc/sudoers
找到接近100多行,按照下面的图片,依葫芦画瓢即可
保存退出之后,回到原账号,使用sudo提权,就能成功了
以上便是本次博文学习内容,如有错误,还望各位大佬指点,谢谢阅读!