当前位置: 首页 > news >正文

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

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

相关文章:

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

目录 yum生态 什么是yum yum是如何得知目标服务器的地址和下载链接 vim vim模式 命名模式 光标移动 插入模式 i键插 a键插 o键插 底行模式 批量化注释 批量化去注释 创建vim配置文件 例子 高亮功能&#xff1a; 缩进功能&#xff1a; 符号位自动补齐功能…...

盛元广通实验室自动化生物样本库质量控制管理系统

随着我国生物医学研究的不断深入和精准医疗的快速发展&#xff0c;对高质量生物样本的需求日益增长。近年来&#xff0c;我国生物样本库建设取得了显著进展。各级政府、高校和医院纷纷投入资源建设生物样本库&#xff0c;推动了生物样本资源的有效整合和利用。生物样本库的质量…...

Java | 自制AWT单词猜一猜小游戏(测试版)

目录 游戏标题 开发过程 开发想法 技术栈 代码呈现 导包 核心代码 游戏标题 探索知识的迷宫&#xff0c;体验自制AWT单词猜一猜小游戏 在数字时代&#xff0c;学习可以是多彩的&#xff0c;游戏可以是智慧的。我们自豪地推出“单词猜猜猜”是一款结合了教育与娱乐的自制…...

docker搭建ES 8.14 集群

参考&#xff1a;【docker搭建es8集群kibana】_docker 安装生产级 es 8.14 集群-CSDN博客 1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客 2、现在需要重新搭建为docker ES集群 准备新搭建3个点 一、准备工作 提前开…...

自定义特征的智能演进:Mojo模型中的动态特征选择控制

自定义特征的智能演进&#xff1a;Mojo模型中的动态特征选择控制 在机器学习领域&#xff0c;特征选择是提升模型性能和泛化能力的关键步骤。Mojo模型&#xff0c;作为一种高效的模型部署方式&#xff0c;其对特征的动态选择和控制能力是实现高级机器学习应用的重要特性。本文…...

Git->Git生成patch和使用patch

生成patch git format-patch -1 HEAD -o "输出目录"format-patch&#xff1a;用于生成补丁文件-1&#xff1a;-1 表示最近一次提交&#xff0c;-2 表示生成最近两次提交的补丁。HEAD&#xff1a;HEAD 指向当前分支的最新提交-o&#xff1a;指定生成的补丁文件的输出…...

开发面试算法题求教

在《无尽的拉格朗日》中&#xff0c;有许多不同的星系建筑物。每个星系建筑物的等级不同&#xff0c;带来的影响力也不同。 已知宇宙可以抽象为一个无穷大的平面直角坐标系&#xff0c;现在给定了每个星系建筑物的所在坐标(xi,yi)和它的影响力ri&#xff0c;距离其切比雪夫距离…...

OpenStack中nova的架构

1.1 nova-api 负责接收和相应客户的API调用。 1.2 compute core nova-schedule 负责决定在哪个计算节点运行虚拟机。 nova-compute 通过调用Hypervisor实现虚拟机生命周期的管理。一般运行在计算节点。 hypervisor 对虚拟机进行硬件虚拟化的管理软件&#xff…...

力扣高频SQL 50题(基础版)第五题

文章目录 力扣高频SQL 50题&#xff08;基础版&#xff09;第五题1683. 无效的推文题目说明&#xff1a;思路分析&#xff1a;实现过程&#xff1a;结果截图&#xff1a; 力扣高频SQL 50题&#xff08;基础版&#xff09;第五题 1683. 无效的推文 题目说明&#xff1a; 表&a…...

Air780EP- AT开发-阿里云应用指南

简介 使用AT方式连接阿里云分为一机一密和一型一密两种方式&#xff0c;其中一机一密又包括HTTP认证二次连接和MQTT直连两种方式 关联文档和使用工具&#xff1a; AT固件获取在线加/解密工具阿里云平台 准备工作 Air780EP_全IO开发板一套&#xff0c;包括天线SIM卡&#xff0…...

【中项】系统集成项目管理工程师-第4章 信息系统架构-4.4数据架构

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…...

excel批量新建多个同类型的表格

背景引入 比如&#xff0c;一个企业有多个部门&#xff0c;现在需要按照某一个excel表模板收集各个部门的信息&#xff0c;需要创建数十个同类型表格&#xff0c;且标题要包含部门名称。 1.修改模板表格标题 在一个文件夹下面放入需要发放给各个部门的表格&#xff0c;将标题…...

React Native 与 Flutter:你的应用该如何选择?

Flutter 和 React Native 都被认为是混合应用程序开发中的热门技术。然而&#xff0c;当谈到为你的项目使用框架时&#xff0c;你必须考虑哪一个是最好的&#xff1a;Flutter 还是 React Native&#xff1f; 本篇文章包含 Flutter 和 React Native 在各个方面的差异。因此&…...

DP学习——状态模式

学而时习之&#xff0c;温故而知新。 状态模式 角色 2个角色&#xff0c;引用类&#xff0c;状态行为类。 和策略模式很相似 状态行为封装成很多独立的状态行为类——就是把不同的状态及其要执行的方法单独封装起来。 而策略模式类似&#xff0c;是不同的算法封装成一个个…...

前端性能优化面试题汇总

面试题 1. 简述如何对网站的文件和资源进行优化? 参考回答&#xff1a; 举列&#xff1a; 1.文件合并&#xff08;目的是减少http请求&#xff09;&#xff1a;使用css sprites合并图片&#xff0c;一个网站经常使用小图标和小图片进行美化&#xff0c;但是很遗憾这些小图片…...

C#基于SkiaSharp实现印章管理(4)

前几篇文章实现了绘制不同外形印章的功能&#xff0c;印章内部一般包含圆形、线条等形状&#xff0c;有些印章内部还有五角星&#xff0c;然后就是各种样式的文字。本文实现在印章内部绘制圆形、线条、矩形、椭圆等四种形状。   定义FigureType枚举记录印章内部形状&#xff…...

Vue全家桶 - pinia 的理解和学习2(Pinia 核心概念的插件、组件外的 Store 和 服务器渲染(SSR))

Pinia&#xff08;Vue 的专属状态管理库&#xff09; Vue全家桶 - pinia 的理解和学习1&#xff08;Pinia 核心概念的 Store、State、Getter、Action&#xff09; https://blog.csdn.net/weixin_54092687/article/details/140520675 插件 由于有了底层 API 的支持&#xff0c…...

数学建模(6)——预测类模型目录

预测模型是一类通过分析和建模历史数据来预测未来结果的算法或模型。这些模型广泛应用于各种领域&#xff0c;包括金融、医疗、市场营销、气象、制造业等。以下是一些常见的预测模型&#xff1a; 1. 回归模型 线性回归&#xff08;Linear Regression&#xff09;&#xff1a;…...

安卓刷入系统证书

设备&#xff1a;Pixel XL 证书&#xff1a;reqable-ca.crt 刷入前需要手机已刷入Magisk 使用USB充电线连接手机&#xff0c;打开Windows终端面板手机打开Magisk&#xff0c;开启Shell的Root权限Windows终端输入su获取root权限查看SELinux状态并修改为Permissive修改system分…...

中科亿海微信号采集核心板在振动采集场景中的应用

在工业现场控制领域&#xff0c;对于旋转物体的速度我们通用的做法是测量旋转所产生的振动量来倒推设备的转速值。振动采集系统是一种广泛用于检测和记录系统振动的设备&#xff0c;整体包括传感器和数据采集两部分。传感器类型包括加速度传感器、速度传感器和位移传感器&#…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

数据分析六部曲?

引言 上一章我们说到了数据分析六部曲&#xff0c;何谓六部曲呢&#xff1f; 其实啊&#xff0c;数据分析没那么难&#xff0c;只要掌握了下面这六个步骤&#xff0c;也就是数据分析六部曲&#xff0c;就算你是个啥都不懂的小白&#xff0c;也能慢慢上手做数据分析啦。 第一…...