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提权,就能成功了

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10安装ElasticSearch7.x和分词插件

说明&#xff1a; 以下内容整理自网络&#xff0c;格式调整优化&#xff0c;更易阅读&#xff0c;希望能对需要的人有所帮助。 一 安装 Java环境 ElasticSearch使用Java开发的&#xff0c;依赖Java环境&#xff0c;安装 ElasticSearch 7.x 之前&#xff0c;需要先安装jdk-8。…

梅卡曼德高精度 DLP 结构光焊接专用 3D 相机

精度高&#xff0c;抗环境光、抗反光&#xff0c;成像效果好 自研蓝光 DLP 投影技术及双目结构光 3D 成像算法&#xff0c;相 机精度高&#xff0c;抗环境光、抗反光性能优异。在实际场景中&#xff0c; 可对各类复杂焊接件、焊缝高质量成像。 超小体积&#xff0c;超强适…

UFO:革新Windows操作系统交互的UI聚焦代理

人工智能咨询培训老师叶梓 转载标明出处 人机交互的便捷性和效率直接影响着我们的工作和生活质量。尽管现代操作系统如Windows提供了丰富的图形用户界面&#xff08;GUI&#xff09;&#xff0c;使得用户能够通过视觉和简单的点击操作来控制计算机&#xff0c;但随着应用程序功…

分享一个最近在进行前后端联调时改了2天的bug...

场景再现 我们这边前端端口是8080 后端端口是8121 我们在前端里在首页面写了一个任务 当进入网页三秒后 发起一个叫getLoginUser的请求 我们的getLoginUser是调用的这里 一个异步请求 这边我们前端调用后端的接口也已经写好 我们先把后端跑起来 访问前端页面 接收到了这个…

数学建模学习(112):FAHP模糊层次分析法

文章目录 一、FAHP方法由来二、模糊层次分析法原理2.1 AHP缺陷2.2 模糊集理论2.3 模糊层次分析法(FAHP)三、模糊层次分析法步骤3.1 问题定义与层次结构建立3.2 构造模糊判断矩阵3.2.1 计算模糊判断矩阵的列和向量3.2.2 计算模糊综合向量3.2.3 计算模糊权重向量3.3 解模糊数3.…

Ubuntu 22.04.4 LTS (linux) Tomcat 9 内存和线程优化

1 Apache Tomcat 9.0.91 线程 #在70行左右&#xff0c;增加如下 sudo vim /data/tomcat/conf/server.xmlmaxThreads"800" #客户请求最大线程数minSpareThreads"200" #最小线程数maxSpareThreads"500" #最大线程数acceptCount"800"…

监控易V7.6.6.15全新升级14:设置功能全面优化

随着企业IT架构的不断发展&#xff0c;对运维管理的需求也日益增加。为了满足广大用户对运维管理的更高需求&#xff0c;监控易系统近期完成了一次重要版本升级。本次升级在原有功能的基础上&#xff0c;对设置功能进行了全面优化和新增&#xff0c;旨在为用户提供更加灵活、高…

数据结构【没头单链表】

目录 ​ 概念与结构 结点 链表的性质 链表的打印分析 实现单链表&#xff1a; 创建单链表数据 申请空间 尾插数据 打印 头插数据 尾删 头删 查询数据 指定位置前插入数据 指定位置后插入数据 删除pos节点 删除pos后面的节点 销毁 链表的分类 链表说明&#…

RK3568笔记四十二:OLED 屏幕驱动(模拟I2C)

若该文为原创文章&#xff0c;转载请注明原文出处。 本篇记录使用GPIO模拟I2C驱动OLED屏幕&#xff0c;显示界面效果如下。 主要流程是&#xff0c;修改设备树&#xff0c;使用普通IO口&#xff0c;驱动模拟I2C方式&#xff0c;应用程直接传输数据控制。 1、修改设备 2、编写…

LeetCode刷题记录(第三天)55. 跳跃游戏

题目&#xff1a; 55. 跳跃游戏 标签&#xff1a;贪心 数组 动态规划 题目信息&#xff1a; 思路一&#xff1a;动态规划 确定dp数组含义&#xff1a; dp[i] 第[i]个位置能否达到确定递推公式&#xff1a; dp[i] 能不能达到&#xff0c;取决于前面d[i-j]&#xff0c;d[i-j…

Docker无法拉取镜像!如何解决?

问题现象 继去年Docker Hub被xxx后&#xff0c;各大NAS的注册表均出现问题&#xff0c;例如群晖的Docker套件注册表无法连接&#xff08;更新至DSM7.2版本后恢复&#xff09;。而在今年2024年6月初&#xff08;约2024.06.06&#xff09;&#xff0c;NAS中最重要的工具Docker又…

常用设计模式总结

设计模式是在软件开发过程中经常遇到的问题的通用解决方案。它们是经过无数的验证和经验积累的最佳实践。 首先&#xff0c;设计模式是一些前人经验的一些总结&#xff0c;所以&#xff0c;当遇到相似的问题的时候&#xff0c;我们可以直接借鉴好的设计模式来实现&#xff0c;…

02 JDBC

文章目录 JDBC1、JDBC概述2、JDBC快速入门3、JDBC API详解4、数据库连接池5、案例代码 JDBC 1、JDBC概述 JDBC概念 &#xff08;1&#xff09;JDBC 就是使用Java语言操作关系型数据库的一套API &#xff08;2&#xff09;全称&#xff1a;( Java DataBase Connectivity ) Java…

docer笔记3

docker笔记3 容器基本命令 容器基本命令 下载镜像 docker pull cento新建容器并启动 docker run [可选参数] image# 参数说明 --name“Name” 容器名字 tomcat01 tomcat02 用来区分容器 -d 后台方式运行 -it 使用交互方式运行&#xff0c;进入容器查…

R-CNN 中的区域建议网络

区域建议网络&#xff08;Region Proposal Network&#xff0c;RPN&#xff09;是R-CNN&#xff08;Regions with Convolutional Neural Networks&#xff09;架构中的一个关键组件&#xff0c;特别是在Faster R-CNN中。RPN的主要任务是生成可能包含物体的区域提议&#xff0c;…

什么是机器学习以及机器学习如今的社会现状!!

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

用太空办公桌spacedesk把废旧平板利用起来

正文共&#xff1a;1500 字 15 图&#xff0c;预估阅读时间&#xff1a;2 分钟 这些年积攒了不少电子设备&#xff0c;比如我现在手头上还有6部手机、4台电脑、2个平板。手机的话&#xff0c;之前研究过作为Linux服务器来使用&#xff08;使用UserLAnd给华为平板装个Linux系统&…

Web 3.0革新:社交金融与边玩边赚开启用户数据主权时代

目录 Web 3.0与社交商业模式 传统社交平台的问题 去中心化社交创新 Mirror&#xff1a;去中心化内容发布平台 Lens Protocol&#xff1a;去中心化社交图谱 Maskbook&#xff1a;隐私保护的社交方式 Web 3.0与与边玩边赚模式 经济模型解析 新商业模式的探索 Axie Infi…

自然语言处理之RNN实现情感分类

前言 IMDB数据集经过分词处理后需要进行额外的预处理&#xff0c;包括将Token转换为index id&#xff0c;并统一文本序列长度。使用MindSpore.dataset接口进行预处理操作&#xff0c;包括text.Lookup和PadEnd接口。此外&#xff0c;还需要将label数据转换为float32格式。 模型…

Android中Activity生命周期详解

目录 一 典型情况二 异常情况2.1 系统配置改变2.2 系统资源不足kill掉低优先级activity Activity是四大组件之一&#xff0c;也是接触的最多的&#xff0c;一般来说Activity经常是与用户交互的界面。 一 典型情况 先看下google官网&#xff0c;其实已经很清楚了 再来个总结 …