linux环境开发工具---yum与vim

1.Linux软件包管理器yum

1.1什么是软件包

在学习linux过程中,我们常常会遇到某些指令用不了的时候,原因除了权限问题外,还有可能是你当前的linux环境并没有安装相应的软件包。而在Linux下载安装软件的办法有两个,一个是先下载所需软件的源代码然后编译,得到可执行程序之后再安装。这种方法无疑是繁琐且麻烦的,所以就有人把一些常用的软件提前编译好,做成软件包(可以理解为windows上的安装程序)并放在服务器上,通过包管理器可以很方便的获取到这个已经编译好的软件包,直接进行安装,这是另一种方法,也是我们常用的一种方法软件包就像是“APP",而软件包管理器就好像是”应用商店“。

yum(Yellow dog Updater, Modified)是Linux下非常常用的一种软件包管理器. 主要应用在Fedora, RedHat,Centos等发行版上.

1.2yum的软件获取源在哪?

其实yum安装软件的本质就是在其源配置文件中找到目标软件的链接(URL),再到这个链接中去下载所需软件。

 运行以下命令以查看系统中的Yum源配置文件(需要root)

cat /etc/yum.repos.d/*.repo

也可以直接进入/etc/yum.repos.d目录查看配置文件

/etc/yum.repos.d/*.repo表示的是/etc/yum.repos.d目录下的所有以.repo后缀结尾的文件内容,每一个文件都代表着一个yum源配置。从中我们可以看到每个yum源配置的详细信息,包括名称、URL、启用状态等。

1.3关于rzsz

szrz 是一对用于在linux系统中进行文件传输的命令行工具,。它们通常用于通过串口或SSH等连接在远程计算机上进行文件的上传(rz)和下载(sz)。

1.4安装rzsz

yum -y install lrzsz

从windows机器上传文件到linux机器中

考虑以下指令

rz 

 从linux远端服务武器下载文件到windows中

sz 某个文件

注意事项

由于yum的所有操作都需要联网,就跟我们手机下载软件一样需要保持网络流畅。

可以通过ping指令来检测网络是否流畅

ping www.baidu.com

其原理就是去访问某个 www.baidu.com,然后发送一个ICMP 请求并等待响应,如果得到的响应数据正常,说明网络是顺畅的。

1.5查看软件包

我们通过yum list命令可以罗列出当前本地一共有多少软件包,由于数量可能非常多,我们需要使用grep命令筛选出目标软件包。 

考虑以下指令

yum list | grep 某个软件包 

 如果对grep或者 | 指令有问题的同学可以去我上一篇博客里面去了解一下

Linux基本指令总结(二)-CSDN博客

那么查看到的这一行的信息的各个字段分别代表什么意思呢?

 

1.6如何用yum安装软件

yum remove 某个软件包

注意yum指令都需要root权限,如果是普通用户则需要使用sudo提权。

2.Linux编辑器-vim使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xshell、 window、mac os、windows。

2.1.vim的基本概念

Vim 是一款强大的文本编辑器,它基于 Vi(另一款流行的文本编辑器)并提供了许多增强的功能。以下是一些 Vim 的基本概念:

2.2.vim常见的三种模式

1、普通/命令/正常模式(Normal Mode):默认模式,用于控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode,在该模式下,按键执行命令而非输入文本在该模式下按 “i” 是切换到插入模式,按 “shift + ;” (等于按 “:”)切换到底行模式。

2、插入模式(Insert Mode):该模式用于输入编辑文本。按”Esc"键返回到命令模式。

3、末行模式(Last line Mode):又叫底行模式。该模式下可进行文件的保存或者退出,也可以进行文本替换、找字符串、列出行号等操作,按”Esc"键返回到命令模式。在该模式下输入help vim-modes可以查找所有的模式。

值得注意的是,要想进入其它模式只能在命令模式中切换,比如在插入模式无法直接切换到底行模式,只能先按Esc回到命令模式再按i进入插入模式。

在底行模式 输入help vim-modes

2.3进入vim

 使用以下命令使用vim编辑文件

vim + 某个文件

进入vim处于的是命令模式

2.4.vim的基本操作

2.4.1模式的切换:
序号命令所处模式含义
1a/i/o命令模式切换到插入模式
2按左上角的Esc键任何模式切换到命令模式
3“shift + ;”,等价于输入“:”命令模式切换到底行模式

2.4.2命令模式命令集

以下命令均在命令模式中执行

光标的移动:
命令含义
h、j、k、l对应光标的左上下右的移动
G(shift+g)移动到文章的最后
$移动到光标所在行的“行尾"
^移动到光标所在行的“行首"
w光标跳到下个字的开头
e光标跳到下个字的字尾
b光标回到上个字的开头
#l光标移到该行的第#个位置,如:5l,56
gg进入到文本开始
ctrl+b屏幕往“后”移动一页
ctrl+f屏幕往“前”移动一页
ctrl+u屏幕往“后”移动半页
ctrl+d屏幕往“前”移动半页
删除文字: 
命令含义
x每按一次,删除光标所在位置的一个字符
#x例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
X(shift+x)大写的X,每按一次,删除光标所在位置的“前面”一个字符
#X例如,「6X」表示删除光标所在位置的“前面(包含自己在内)”6个字符
dd删除光标所在行
#dd从光标所在行开始删除#行
复制:
命令含义
yw将光标所在之处到字尾的字符复制到缓冲区中
#yw复制#个字到缓冲区
yy复制光标所在行到缓冲区
#yy例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字
p将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
 其它:
命令含义
r替换光标所在处的字符
R替换光标所到之处的字符,直到按下「ESC」键为止
u撤销,回到上一个操作
ctrl+r撤销的恢复
c#w更改光标所在处的字到字尾处
ctrl+g例如,「c3w」表示更改3个字
#G例如,「15G」,表示移动光标至文章的第15行行首
 2.4.3底行模式命令集

以下命令在底行模式进行

命令含义
set nu列出行号
#一个数字,跳转到#行
/关键字查找关键字,按n往后继续查找
?关键字查找关键字,按n往下一个关键字处查找
w保存文件
q退出
wq保存并退出
q!强制退出
wq!强制保存并退出
w!强制保存

2.5 vim配置

2.5.1配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
打开自己目录下的.vimrc文件,执行 vim .vimrc

 可以看到,之所以我的vim看起来非常的”华丽“,是因为在vimrc里面已经配置好了各种命令。在我们打开vim时,会先读取vimrc里面的命令并生效,比如如果我们在里面配置了”set nu“显示行号的命令,在我们打开vim的时候就会自动显示行号了,非常方便。

配置选项比较多,大家可以去自行查阅。当然我们也可以使用插件。

2.5.2使用插件

1.安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
2.在~/.vimrc 中添加: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
3.安装文件浏览器和窗口管理器插件: WinManager
4.下载winmanager.zip,2.X版本以上的
5.解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
6.在~/.vimrc 中添加 let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle<cr>
7.然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输入"wm"

 

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

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

相关文章

力扣1143. 最长公共子序列(动态规划)

Problem: 1143. 最长公共子序列 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 我们先假设已经将两个字符串转换为两个char类型的数组&#xff08;t1,t2&#xff09;便于比较 1.如果t1[i] t2[j],有三种决策&#xff1a;&#xff08;i1&#xff0c;j1&#xff09;&a…

微信小程序如何获取当前日期时间

Hello大家好&#xff01;我是咕噜铁蛋&#xff0c;获取当前日期时间是小程序中经常会用到的一个功能。因此&#xff0c;在本文中&#xff0c;我通过科技手段给大家收集整理了下&#xff0c;今天我将向大家介绍如何在微信小程序中获取当前日期时间的方法&#xff0c;并分享一些实…

【Unity】URP报错Object reference not set to an instance of an object

使用URP之后&#xff0c;Unity报错&#xff1a;显示不正常 NullReferenceException: Object reference not set to an instance of an object UnityEngine.Rendering.Universal.UniversalAdditionalCameraData.get_cameraStack () (at Library/PackageCache/com.unity.render-p…

VSCode 插件推荐

前言 关于开发用的插件就不做赘述了&#xff0c;网上面有很多文章都做了推荐&#xff0c;本文推荐几个好看的插件。 文件图标主题 Vscode icons Material Icon Theme 字体主题 推荐 One Dark Pro 其他 推荐一个生成好看代码的网址 https://carbon.now.sh/

Unity 抽象工厂模式(实例详解)

文章目录 简介实例1实例2 简介 抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一种方式来封装一组相关或相互依赖对象的创建过程&#xff0c;而无需指定具体类。这种模式常用于系统中有多组相关产品族&#xff0c;且客户端需要使用不同产品族中的对象时。 在Unity中&a…

第一篇【传奇开心果系列】beeware的toga开发移动应用:轮盘抽奖移动应用

系列博文目录 beeware的toga开发移动应用示例系列博文目录一、项目目标二、开发传奇开心果轮盘抽奖安卓应用编程思路三、传奇开心果轮盘抽奖安卓应用示例代码四、补充抽奖逻辑实现五、开发传奇开心果轮盘抽奖苹果手机应用编程思路六、开发传奇开心果轮盘抽奖苹果手机应用示例代…

C#,最小生成树(MST)克鲁斯卡尔(Kruskal)算法的源代码

一、Kruskal算法简史 克鲁斯卡尔&#xff08;Kruskal&#xff09;算法是一种用来寻找最小生成树的算法&#xff0c;由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应用。和Boruvka算法不同的地方是&#xff0c;Kruska…

C++大学教程(第九版)6.38汉诺塔问题

文章目录 题目代码运行截图 题目 (汉诺塔问题)在这一章中大家了解了既可以用递归方法又可以用迭代方法很容易实现的函数。不过&#xff0c;在这道练习题中&#xff0c;我们提出的问题若用递归来解决&#xff0c;则尽显递归之优雅:若用迭代来实现&#xff0c;恐怕没那么容易。 …

深入Docker5:安装nginx部署完整项目

目录 准备 为什么要使用nginx mysql容器构建 1.删除容器 2.创建文件夹 3.上传配置文件 4.命令构建mysql容器 5.进入mysql容器&#xff0c;授予root所有权限 6.在mysql中用命令运行sql文件 7.创建指定数据库shop 8.执行指定的sql文件 nginx安装与部署 1.拉取镜像 2…

xxe漏洞之scms靶场漏洞

xxe-scms 代码审核 &#xff08;1&#xff09;全局搜索simplexml_load_string simplexml_load_string--将XML字符串解释为对象 &#xff08;2&#xff09;查看源代码 ID1 $GLOBALS[HTTP_RAW_POST_DATA]就相当于file_get_contents("php://input"); 因此这里就存…

性能优化-OpenCL运行时API介绍

「发表于知乎专栏《移动端算法优化》」 本文首先给出 OpenCL 运行时 API 的整体编程流程图&#xff0c;然后针对每一步介绍使用的运行时 API&#xff0c;讲解 API 参数&#xff0c;并给出编程运行实例。总结运行时 API 使用的注意事项。最后展示基于 OpenCL 的图像转置代码。在…

惬意上手Python —— 装饰器和内置函数

1. Python装饰器 Python中的装饰器是一种特殊类型的函数&#xff0c;它允许用户在不修改原函数代码的情况下&#xff0c;增加或修改函数的行为。 具体来说,装饰器的工作原理基于Python的函数也是对象这一事实&#xff0c;可以被赋值给变量、作为参数传递给其他函数或者作为其他…

Spring Cloud可视化智慧工地大数据云平台源码(人、机、料、法、环五大维度)

智慧工地平台是依托物联网、互联网、AI、可视化建立的大数据管理平台&#xff0c;是一种全新的管理模式&#xff0c;能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度&#xff0c;以及施工过程管理的进度、质量、安全三…

JUC并发编程-集合不安全情况以及Callable线程创建方式

6. 集合不安全 1&#xff09;List 不安全 //java.util.ConcurrentModificationException 并发修改异常&#xff01; public class ListTest {public static void main(String[] args) {List<Object> arrayList new ArrayList<>();for(int i1;i<30;i){new Thr…

“疫”后不emo,直播电商点亮鞋服赛道新生机

“ 走出阴霾&#xff0c;把握机遇 ” 文&#xff5c;王娴 编辑 | 靳淇 出品&#xff5c;极新 2023年&#xff0c;零售消费呈现缓慢复苏趋势&#xff0c;而直播电商也越发成为消费行业的重要增长引擎。对鞋服行业而言&#xff0c;直播电商独特的内容生态在传递时尚理念、激…

【GitHub项目推荐--微软开源的可视化工具】【转载】

说到数据可视化&#xff0c;大家都很熟悉了&#xff0c;设计师、数据分析师、数据科学家等&#xff0c;都需要用各种方式各种途径做着数据可视化的工作.....当然许多程序员在工作中有时也需要用到一些数据可视化工具&#xff0c;如果工具用得好&#xff0c;就可以把原本枯燥凌乱…

3d gaussian splatting笔记(paper部分翻译)

本文为3DGS paper的部分翻译。 基于点的&#x1d6fc;混合和 NeRF 风格的体积渲染本质上共享相同的图像形成模型。 具体来说&#xff0c;颜色 &#x1d436; 由沿射线的体积渲染给出&#xff1a; 其中密度 &#x1d70e;、透射率 &#x1d447; 和颜色 c 的样本是沿着射线以…

【数据结构】二叉树算法讲解(定义+算法原理+源码)

博主介绍&#xff1a;✌全网粉丝喜爱、前后端领域优质创作者、本质互联网精神、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战✌有需要可以联系作者我哦&#xff01; &#x1f345;附上相关C语言版源码讲解&#x1f345; &#x1f44…

暴力破解常见的服务器

目录 使用 pydictor 生成自己的字典工具liunx下载使用常用的参数说明插件型字典 (可自己根据 API 文档开发) 使用 hydra 工具在线破解系统用户密码使用 hydra 破解 windows 7 远程桌面密码使用 hydra 工具破解 ssh 服务 root 用户密码 使用 Medusa 工具在线破解medusa参数说明M…

NetSuite 文心一言(Ernie)的AI应用

有个故事&#xff0c;松下幸之助小时候所处的年代是明治维新之后&#xff0c;大量引用西洋技术的时期。当时大家对“电”能干什么事&#xff0c;充满好奇。“电能干什么&#xff1f;它能帮我们开门么&#xff1f;” 松下幸之助的爷爷对电不屑&#xff0c;于是就问他。松下幸之助…