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…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...