yum/vim工具的使用
yum
我们生活在互联网发达的时代,手机电脑也成为了我们生活的必须品,在你的脑海中是否有着这样的记忆碎片,在一个明媚的早上你下定决心准备发奋学习,“卸载”了你手机上的所有娱乐软件,一心向学!可是到了下午,你焦虑无比,在屋里走来走去,最后说服自己点开了手机的“应用商城”,下回了抖音、游戏......。
上述卸载和安装软件的过程在Linux中应该如何实现呢?在Linux下安装软件, 一个通常的办法是下载程序的源代码, 并进行编译, 得到可执行程序,这个过程有些麻烦。为了方便,一些人把常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器。软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
yum三板斧
查看软件
可以用下述命令查看包管理器中都有什么软件包,下述截图为查看后显示的部分软件!
yum list
但是上述查看过程包的数量众多,为了更加准确、快捷,可以根据需求使用grep来筛选我们需要的软件包。
yum list | grep sl
这里你肯定会存在着这样的疑问,这么多的软件,我需要用什么,它们的功能都是什么。这其实需要我们不断的学习和进步,当我们学习的时间越长,见过的用过的软件不断增多,这个问题也就自然解决了!
下载安装软件
下载好软件包后,还需要安装,安装的本质其实就是拷贝,会将其拷贝到特定的目录,然而目录是有权限的,所以需要用root账号进行安装或者sudo提权进行安装!
yum install sl
尝试安装sl :
当看到complate时,说明安装成功!
验证“小火车”是否安装成功:
sl
卸载软件
yum remove sl
使用“三板斧”安装rzsz
resz工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
●筛选查找软件包
yum list | grep lrzsz
●安装软件包
yum install lrzsz
lrzsz已经安装过了,这里就不在删除重新安装了。
将windows上的文件传输到linux中:可以直接拖拽,也可通过命令
rz
将linux.txt改名,修改内容在传回到windows桌面上:
vim
vim常用模式
vim是一个多模式编辑器,我们先来掌握vim的三种常用模式:命令模式(Normalmode)、插
入模式(Insert mode)和底行模式(last line mode)。
●三种模式的相互切换以及保存退出
1.正常模式切换至插入模式:输入a、输入i、输入o。
2.正常模式切换至末行模式:shift + ; 其实就是输入:。
3.插入模式切换至正常模式,按ESC。
4.末行模式切换至正常模式:按ESC。
5.退出vim及保存文件,在底行模式下:
w:保存当前文件
wq保存并退出
q!不保存直接退出
●命令模式(Normalmode):进入插入模式和底行模式的“中转站”,可以控制屏幕光标的移动,对字符、字或行进行删除、复制粘贴等操作。
进入vim之后,是处于命令模式,想要输入文字需要转换到插入模式。
● 插入模式(Insert mode):此模式下可以进行文字输入!按ESC回到命令模式,不能直接切到底行模式。
●底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作,按ESC回到命令模式,不能直接切换到底行模式。
vim常用操作
●命令模式下:
1.光标移动操作
在命令模式下,可以用上下左右键或者h/j/k/l来移动光标:
2.光标定位操作
3.文本复制相关操作
复制:yy复制当前行,支持多行复制nyy,n表示行数
粘贴:p粘贴,将复制内容粘贴到当前位置,支持将当前内容进行多次粘贴np,n表示粘贴的次数。
删除:dd删除当前行,支持多行删除ndd,n代表行数。
剪切:ndd+p,将剪切的内容粘贴到当前行位置。
4.文本编辑操作
r:替换(修改)光标所在字符。
shift+r = R:替换(修改)多个字符。
行内删除,x向后删除,shift+x=X向前删除,支持nx,nX,支持p。
5.撤销操作
u:撤销。
ctrl+r:取消u操作,对撤销进行撤销。
●底行模式下:
列出取消行号
set nu//设置行号
set nonu//取消行号
查找替换
%s/printf/cout/g
w: 在冒号输入字母w就可以将文件保存起来
q:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
wq:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件
vim配置
上面介绍了vim的一些基本使用,但是用起来肯定非常的不舒服,很像记事本,编写代码的体验感很差,基于这样的情况,我们可以根据自己的喜好来配置vim,也不必担心自己的配置会影响到其他用户,因为每一个用户在自己的家目录下都有一个属于自己的配置文件.vimrc,所谓的vim配置也就是修改.vimrc。
在要配置vim的用户下,打开.vimrc文件,向文件写入常用配置选项:
1.添加set nu
高亮光标坐在的行列:
set cursorline
当然还有很多配置选项很有意思,可以在网上自行搜索测试。
添加“白名单”
用root账号登录,修改/etc/sudoers 文件,将受信任用户添加进去,该用户下次sudo提权只输入自己的密码即可。
相关文章:

yum/vim工具的使用
yum 我们生活在互联网发达的时代,手机电脑也成为了我们生活的必须品,在你的脑海中是否有着这样的记忆碎片,在一个明媚的早上你下定决心准备发奋学习,“卸载”了你手机上的所有娱乐软件,一心向学!可是到了下…...

内网渗透(三十九)之横向移动篇-pass the ticket 票据传递攻击(PTT)横向攻击
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...
Unity性能优化之纹理格式终极篇
知识早班车:1、当n大于1时,2的n次幂一定能被4整除;证明:2^n 2^2*2^(n-1) 4*2^(n-1)2、4的倍数不一定都是2的次幂;证明:4*3 12;12不是2的次幂3、Pixel(像素)是组成图片…...

【Spark分布式内存计算框架——Spark SQL】9. Dataset(下)RDD、DF与DS转换与面试题
5.3 RDD、DF与DS转换 实际项目开发中,常常需要对RDD、DataFrame及Dataset之间相互转换,其中要点就是Schema约束结构信息。 1)、RDD转换DataFrame或者Dataset 转换DataFrame时,定义Schema信息,两种方式转换为Dataset时…...

Windows 环境下,cmake工程导入OpenCV库
目录 1、下载 OpenCV 库 2、配置环境变量 3、CmakeLists.txt 配置 1、下载 OpenCV 库 OpenCV官方下载地址:download | OpenCV 4.6.0 下载完毕后解压,便可以得到下面的文件 2、配置环境变量 我们需要添加两个环境变量,一个是 OpenCVConfi…...
微服务架构设计模式-(16)重构
绞杀者应用程序 由微服务组成的应用程序,将新功能作为服务,并逐步从单体应用中提取服务来实现。好处 尽早并频繁的体现价值 快速开发交付,使用 与之相对的是“一步到位”重构,这时间长,且期间有新的功能加入ÿ…...

数据结构:归并排序和堆排序
归并排序 归并排序(merge sort)是利用“归并”操作的一种排序方法。从有序表的讨论中得知,将两个有序表“归并”为一个有序表,无论是顺序表还是链表,归并操作都可以在线性时间复杂度内实现。归并排序的基本操作是将两个位置相邻的有序记录子序列R[i…m]R[m1…n]归并为一个有序…...

基于easyexcel的MySQL百万级别数据的excel导出功能
前言最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。原始需求:用户在UI界面上点击全部导出按钮…...
js-DOM02
1.DOM查询 - 通过具体的元素节点来查询 - 元素.getElementsByTagName() - 通过标签名查询当前元素的指定后代元素 - 元素.childNodes - 获取当前元素的所有子节点 - 会获取到空白的文本子节点 …...

作为一名开发工程师,我对 ChatGPT 的一些看法
ChatGPT 又又火了。 ChatGPT 第一次爆火是2022年12月的时候,我从一些球友的讨论中知道了这个 AI 程序。 今年2月,ChatGPT 的热火更加猛烈,这时我才意识到,原来上次的热火只是我们互联网圈子内部火了,这次是真真正正的破圈了,为大众所熟悉了。 这个 AI 程序是一个智能问…...
Flask中基于Token的身份认证
Flask提供了多种身份认证方式,其中基于Token的身份认证是其中一种常用方式。基于Token的身份认证通常是在用户登录之后,为用户生成一个Token,然后在每次请求时用户将该Token作为请求头部中的一个参数进行传递,服务器端在接收到请求…...

波奇学数据结构:时间复杂度和空间复杂度
数据结构:计算机存储,组织数据方式。数据之间存在多种特定关系。时间复杂度:程序基本操作(循环等)执行的次数大O渐进法表示法用最高阶的项来表示,且常数变为1。F(n)3*n^22n1//F(n)为…...
移动OA办公系统为企业带来便捷办公
移动OA系统是指企业员工同手机等移动设备来使用OA办公系统,在外出差的员工只需要通过OA系统的手机APP就可以接收相关的新信息。PC办公与移动OA办公的相结合,构建用户单位随时随地办公的一体化环境。 相比PC办公,移动OA办公给企业带来更多的便…...

什么是Type-c口?Type-c口有什么优势?
什么是Type-C接口 Type-C接口有哪些好处坏处 说起“Type-C”,相信大家都不会陌生,因为最近拿它大做文章的厂商着实不少,但要具体说清楚Type-C是什么,估计不少人只能说出“可以正反插”“USB的一种”之类的大概。其实,T…...
Go开发者常犯的错误,及使用技巧 (1)
代码规范 命名不规范 变量名要有意义,不能随便取a,b,c 如果只是纯粹的算法题,这样问题不大。但工程上的代码可读性要求较高,不能随意命名变量名,例如: for _, v : range userList {// ... }如果for语句块简短还好&…...
Servlet 作业
一、填空题1. Servlet 中使用Session 对象的步骤为:调用HttpServletRequest.getSession()的得到Session对象,查看Session对象,在会话中保存数据。2. http 全称是_HyperText Transfer Protocol3. 用户可以有多种方式请求Servlet,如…...
Hive高阶函数:explode函数、Lateral View侧视图、聚合函数、增强聚合
Hive高阶函数 文章目录Hive高阶函数explode函数Lateral View侧视图原理语法聚合函数增强聚合grouping setsCUBEROLL UPexplode函数 explode接收map、array类型的数据作为输入,然后把输入数据中的每个元素拆开变成一行数据,一个元素一行。explode执行效果…...

信息系统服务管理
一、信息系统服务业及发展二、信息系统工程监理的概念及发展三、信息系统运行维护的概念和发展 IT服务管理(ITSM) 四、信息技术服务管理的标准和框架 IT服务标准体系(ITSS) 一、信息系统服务业及发展 总结:前景很好 二、信息系…...

Windows10 安装ElasticStack8.6.1
一、安装ElasticSearch8.6.1 1.官网下载ElasticSearch8.6.1压缩包后解压 2.安装为服务 elasticsearch-service.bat install 3.运行 elasticsearch-service.bat start 4.通过浏览器访问 http://localhost:9200/ 提示需要登录,但不知密码是啥。 5.重置密码 ela…...

gRPC 非官方教程
一、 简介 gRPC的定义: 一个高性能、通用的开源RPC框架主要面向移动应用开发: gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。基于HTTP/2协议标准而设计,基于ProtoBuf(Protoc…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章 摘要: 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言,受限于 C 语言本身的内存安全和并发安全问题,开发复杂模块极易引入难以…...