Linux环境基础开发工具使用——yum and vim

news2024/9/20 8:15:47

        本篇将会介绍平时在Linux中开发常用到的一些工具,其中包括:软件包管理器 — yum,Liunx中的开发工具。具体的介绍了 yum 的相关操作以及 yum 源,同时还介绍了 windows与虚拟机如何进行的关联。然后对Liunx中的开发工具进行了详细的介绍,还详细的介绍了 vim 中的快捷命令集。目录如下:

目录

1. Linux软件包管理器——yum

1.1 yum相关操作 

1.2 yum软件源

1.3 windows与虚拟机之间的文件关联

2. Linux开发工具——vim

 2.1 vim的基本概念与基本使用方法

2.2 正常模式命令集

2.3 末行模式命令集

2.4 进行批量化注释

1. Linux软件包管理器——yum

        对于软件包管理器——yum,可以理解为Linux中的一个软件应用商店。但是他与Windows上的软件应用商店又存在一定的区别,将会在下文中一一进行解释。

        首先介绍什么是软件包:在Linux下安装软件,通常的办法是下载程序的源代码,然后进行编译,形成一个可执行程序。但是这样太麻烦,特别是对一些不怎么熟悉Linux的新用户不怎么友好,所以就有人将常用的软件提前编译好,做成软件包(类似Windows上的安装程序)放在一个服务器上,通过软件包管理器yum可以很方便的获取这个编译好的软件包,直接将其安装在Linux系统中。

        软件包和软件管理器yum的关系,好比 “App” 和 “应用商店” 的关系。

        yum(Yellow dog Updater,Modified)是Linux下的非常常用的一种软件包管理器。主要应用在Fedora, RedHat,Centos等发行版上。
        注:使用 yum 下载软件包,需要保证网络通畅。之后会详细介绍为什么需要网络通畅。

1.1 yum相关操作 

        对于 yum 的相关操作,首当其冲需要介绍的就是 yum 的搜索功能,我们需要使用 yum 去搜索各种各样的软件包,其使用语法为:

        yum list | grep xxx   (筛选出与xxx相关的一些软件包)

        由于包的数量非常之多,所以需要我们使用 grep 命令筛选出我们关注的包,如下图:

        当我们输入 yum list | grep sl 时,系统就会自动筛选出和所有存在关键字 sl 的软件包,对于蓝框框住的 el7 表示这是在 centos7 版本下的软件。而右边橙框框住的表示是软件包提供方。软件包跟的后缀:x86_64 表示64位系统的安装包,i686 后缀表示32位系统安装包,选择包时要和系统匹配。

        接下来具体讲解 yum 怎么对软件包进行安装,首先先介绍 yum 的安装与删除语法:

(sudo) yum install (-y) xxx //安装,普通用户下需要执行sudo
(sudo) yum remove (-y) xxx //删除

        对于 yum 的安装,需要注意的是,使用 yum 进行软件安装需要将用户切换到 root 账号,或者使用 sudo 进行安装。使用样例如下:

        当我们输入 yum install sl 时,会需要我们进行输入 y 确认或者输入 n 否认,当我们输入 yum install -y sl 时,就不会弹出这个界面,将直接进行安装。(安装的这个软件包其实是一个跑火车的小程序,如下)

        当然我们也可以使用 yum 来对软件包进行删除,如下:

1.2 yum软件源

        在介绍软件源前,我们先简单的介绍一下软件包提供方,如下:

        在图中一共有 base 和 epel 这两个软件提供方,其中对于 base 软件包提供方来说,通常提供的软件包都是稳定的软件,经过长期验证的软件包,使用时不会出问题;而对于 epel 软件提供方来说,通常提供的软件包都是一些相对来说不怎么成熟的软件包,有可能在使用的过程中会出现 BUG。当然,还有很多其他的软件包提供方,在这就不一一介绍了。

        对于 yum 软件包管理器来说,我们的软件需要在哪进行下载呢?答案是在Linux下内置得有对应的软件源,当我们执行对应的 yum 指令时,系统会自动在对应的软件源下去寻找这个软件,然后找到该软件包进行安装。

        上图就算提供的文件目录下的文件就是我的Linux机器提供的软件源,其中 CentOS-Base.repo 就是 base 软件包提供方提供的软件源,当我们打开这个文件,内容如下:

        如上图,当我们打开 CentOS-Base.repo 文件,发现里面存在一些网站,对于这些网站就是提供软件包的地方也就是软件源。

        现在我们来看看 epel 软件提供方提供的软件源,epel.repo,当我们打开该文件,得到的内容如下:,

        这是华为提供的扩展源,对于 CentOS-Base.repo 软件源提供的软件源一般都是较为稳定的软件包,若想要能够安装更多的软件包,我们可以在配置一个软件源:epel.repo。安装命令如下:

        (对于其他的扩展源来说,若是使用国内的云服务器可能自动就配置得有,但是如果安装的是虚拟机,软件源很内的链接可能来自国外,在国内安装软件包的速度可能会很慢,若未配置其他软件源的系统,建议配置,查看软件源目录的命令:ls /etc/yum.repos.d/

1.3 windows与虚拟机之间的文件关联

        平时使用Linux都是在虚拟机或者云服务器下使用,但通常使用得更多的还是windows,当我们需要将Linux中的文件与Windows中的文件进行关联时,我们可以在Linux下运行以下命令:

yum install -y lrzsz

        安装该命令之后,我们就可以开始进行对应的文件传输了。如下:

        从windows传入Linux中,一共有两种方法:直接拖拽、命令行输入命令。

        直接将windows下的文件拖拽到Linux中的命令行下,就可以开始传输了。

        输入命令:rz -E 命令,也可以进行文件传输。

        从Linux中将文件传输到windows下,输入命令:sz xxx(文件名)

2. Linux开发工具——vim

        在Linux下我们通常使用的开发工具是 vim,也就是说 vim 就是Linux下的IDE开发工具,在前两篇文章中,我们使用 nano 来对代码进行编辑代码,但其实这个工具并不适合用于编辑代码,nano 是一个文本编辑器,它是一个轻量级的终端文本编辑器,适用于在终端下编辑文本文件,所以并不适合用于编辑代码,当然也可以用于编辑。

 2.1 vim的基本概念与基本使用方法

        在 vim 下一共有三种模式:正常模式、插入模式、末行模式。各模式的功能区分如下:

        正常/普通/命令模式(normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

        插入模式(insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
        末行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

        对于 vim 的使用方法为:vim xxx(文件名),当我们进入该文件后,就可以对该文件进行编辑了。

        当我们使用 vim 命令进入一个空文件时,进入就是这个样子,什么都没有,一切都需要由我们自己填写,需要我们一个字母一个字母的敲。但也并不是进入之后就直接可以开始敲代码了,还需要其他的一些操作。

        在 vim 下的三种模式:正常模式、插入模式、末行模式。之间的切换如下:

      (vim 进入文件时,默认是以正常模式进入的)

        正常模式 切换为 插入模式:

输入:a   //会在当前位置的后一个位置开始输入
输入:i   //直接在当前位置进行输入
输入:o   //会在当前位置的下一行输入

        插入模式 切换为 正常模式:

输入:ESC

        通常插入模式切换正常模式是为了执行一些快捷命令。

        正常模式 切换为 末行模式:

输入:shift + ; //其实就是输入:

2.2 正常模式命令集

        在正常模式下,会存在许多的快捷命令方便我们操作,将会在以下列举出最常用的一些命令。

        移动光标命令集:

1.vim可以直接使用键盘上的上下左右方向键来移动光标,但正规的vim使用的是小写字母:h、j、k、l,分别控制光标的左、下、上、右;
2.按G[shift+g]:移动到文章最末尾处;
3.按$[shift+4]:移动光标到当前所在行的“行尾”;
4.按^[shift+6]:移动光标到当前所在行的“行首”;
5.按W[shift+w]:将光标移动到下一个字的开头;
6.按e:光标移动到下个字的字尾;
7.按b:使光标回到上一个字的开头;
8.按n+l:将光标移动到第n个位置;
9.按gg:将光标移动到文本开始位置;
10.按[ctrl+b]:屏幕往后移动一页;
11.按[ctrl+f]:屏幕往前移动一页;
12.按[ctrl+u]:屏幕往后移动半页;
13.按[ctrl+d]:屏幕往前移动半页;
14.按[ctrl+g]:列出光标所在行;
15.按[n+G]:将光标跳到第n行

        删除文字命令集:

1.按x:删除光标所在位置的字符
2.按n+x:删除光标所在位置后的n个字符
3.按X:删除光标所在位置的前一个字符
4.按n+X:删除光标前的n个字符
5.按dd:删除光标所在行
6.按n+dd:从光标所在行开始删除n行

        复制命令集:

1.按yw:将光标所在之处到字尾的字符复制
2.按n+yw:复制n个字
3.按yy:复制当前行
4.按n+yy:复制光标开始处的n行
5.按p:将复制的字符复制到光标处

        替换命令集:

1.按r:替换光标所在处的字符
2.按R:替换光标所到之处的字符,知道按下ESC为止
// 可以将其看作insert的另一种模式

        撤销操作集:

1.按u:撤销前一步的操作
2.按ctrl+r:将撤销的恢复

        更改命令集:

1.按c+w:更改光标所在位置直到字尾处的字符(从光标位置开始删除到字尾,然后在从键盘读入)
2.按c+n+w:更爱光标位置之后的n个字符

2.3 末行模式命令集

        在使用末行模式前,记得退出到正常模式,因为只有正常模式才可以进入末行模式。由于末行模式的命令相对正常模式较少,就不将其分类了,直接在以下列出。

1.set nu:会在文件中列出每一行的行号
2.数字n+enter:将光标跳到第n行
3./关键字:会在文章中找出关键字,并将其高亮
4.w:保存文件
5.q:退出文件
6.wq:保存文件并退出
7.q!:强制退出

        以上就是末行模式常使用的命令,但是末行模式还有其他的一些功能,如,当我们在编写代码时,需要打开另一个头文件或者其他文件一同开发,我们可以使用命令:

        vs filename   // 当文件不存在时,会新建文件,文件存在则直接打开

如下:

        当我们需要退出文件时,按照退出命令就可以退出了,退出的文件为当前光标所在位置的文件。若我们不想退出文件,只切换光标到另一个文件,可以执行命令:

        ctrl+ww  // 会按照顺序依次切换光标位置

2.4 进行批量化注释

        以上给出了一些基本的 vim 指令,但是当我们想要对我们的代码进行批量化注释的时候,我们又该怎么操作呢?这个操作还是存在一定的难度,如下:

        1. 按:ctrl+v  //进入visual block模式

        2. 按:j 或者 [shift + n +g]:选中n行

        3. 按:shift+i :进入insert模式

        4. 输入 // 注释符,然后连续按两下 ESC,就可以得到多行注释了

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

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

相关文章

agent利用知识来做规划:《KnowAgent: Knowledge-Augmented Planning for LLM-Based Agents》笔记

文章目录 简介KnowAgent思路准备知识Action Knowledge的定义Planning Path Generation with Action KnowledgePlanning Path Refinement via Knowledgeable Self-LearningKnowAgent的实验结果 总结参考资料 简介 《KnowAgent: Knowledge-Augmented Planning for LLM-Based Age…

摆扫式(whisk broom)和推扫式(push broom)卫星传感器介绍

目前,我们卫星传感器主要有两大类型:摆扫式(whisk broom)和推扫式(push broom)。为了更好的理解和使用卫星影像数据,我们需要简单了解下这两种传感器工作原理。 摆扫式:Whisk Broom…

zabbix进阶

知识点补充 zabbix server在主机上运行服务,端口号为10050,zabbix agent 在被监控机器上运行(源码下载)主要完成对cpu,磁盘的信息采集,端口号为10051 zabbix 软件结构组成: 1.Zabbix Web GUI …

城市内涝水文水动力模型:慧天【HTWATER】

查看详情>>> 城市内涝水文水动力模型:慧天【HTWATER】 【城市内涝水文水动力模型介绍】 慧天排水数字化分析平台针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存…

兼职副业大揭秘:六个潜力满满的赚钱途径

亲爱的朋友,你对兼职副业充满好奇与期待,这非常好!在此,我将为你分享一些能够助你赚取额外收入的兼职副业建议。以下是六个颇具潜力的兼职副业方向,希望能为你的探索之路提供些许启发。 1,网络调查与市场洞…

C++ 动态规划

文章目录 一、简介二、举个栗子2.1斐波那契数列2.2最短路径(DFS) 参考资料 一、简介 感觉动态规划非常的实用,因此这里整理一下相关资料。动态规划(Dynamic Programming):简称 DP,是一种优化算法…

后端常问面经之Java基础

基本数据类型 Java中有8种基本数据类型: 6种数字类型: 4种整数型:byte、short、int、long 2种浮点型:float、double 1种字符类型:char 1种布尔类型:boolean 数据类型的默认值以及所占空间如下&#x…

C++ STL - 优先级队列及其模拟实现

目录 0. 引言 1. priority_queue 介绍 1.1 构造函数 1.2 priority_queue 接口函数使用 1.3 仿函数 1.4 题目练习 2. priority_queue 模拟实现 2.1基本框架: 2.2 默认构造函数 2.3 基本函数 2.4 堆的向上以及向下调整 0. 引言 优先队列 (priority_queu…

Flask python :logging日志功能使用

logging日志的使用 一、了解flask日志1.1、Loggers记录器1.2、Handlers 处理器1.3、Formatters 格式化器 二、使用日志2.1、官网上的一个简单的示例2.2、基本配置2.3、具体使用示例2.4、运行 三、写在最后 一、了解flask日志 日志是一种非常重要的工具,可以帮助开发…

[技术杂谈]解决windows上出现文件名太长错误

最近执行python setup.py install总是失败,提示文件名太长发现网上有取消限制文件名长度,测试发现改完注册表无需重启cmd就生效了。但是有时候会失败,现在方法放这。 转到Windows“开始”,然后键入REGEDIT。选择注册表编辑器 选…

Linux内核中的进程调度-进程调度基础

前言 一、进程的概念 1.概述 2.ps和top命令 3.总结 二、进程的生命周期 1.进程状态文字描述 2.进程状态程序中的体现 3.进程状态的切换 三、task_struct数据结构简述 1.数据结构成员简述 2.需要注意的成员: 3.进程优先级 ①、优先级的代码表示 ②、Linux内核下的进…

蓝桥杯2023真题-幸运数字

目录 进制转换: 思路 代码 题目链接: 0幸运数字 - 蓝桥云课 (lanqiao.cn) 本题就考的进制转换问题,要将十进制5转换成二进制,通过%2,和/2的交替使用即可完成,所得余数就是转换成的二进制各位的值,转换…

浅谈如何自我实现一个消息队列服务器(3)—— 细节分析

文章目录 2.2 消息存储在文件时涉及到的流对象2.3 序列化、反序列化的方法2.3.1 JSON的ObjectMapper2.3.2 ObjectOutputStream 、 ObjectInputStream2.3.3 第三方库的Hessian2.3.4 protobuffer2.3.5 thrift 2.4 使用类MessageFileManager封装文件存储操作2.4.1 sendMessage()实…

ubuntu20.04云服务器安装LXDE轻量级桌面和XRDP远程连接工具

云服务器一般都是安装命令行系统,用SSH连接,但是有时我们需要桌面来做更好的管理。 首先我们明确一下需要的东西。 一个桌面系统:LXDE(最轻量级桌面),为了节省资源,我们只要功能够用就行。一个…

[套路] 浏览器引入Vue.js场景-WangEditor富文本编辑器的使用 (永久免费)

系列文章目录 [套路] el-table 多选属性实现单选效果[套路] 基于服务内存实现的中文拼音混合查询[套路] Bypass滑块验证码 目录 系列文章目录前言一、实现1.1 场景1.2 Window对象简介1.3 引入WangEditor1.4 页面配置 前言 公司使用freemarker的老旧SpringBootWeb后台项目, 前…

【蓝桥杯】填空题技巧|巧用编译器|用Python处理大数和字符|心算手数|思维题

目录 一、填空题 1.巧用编译器 2.巧用Excel 3. 用Python处理大数 4.用Python处理字符 5.心算手数 二、思维题 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】 一、填空题 …

Python编程入门:环境搭建与基础语法

目录 1. 引言 2. Python环境搭建 3. Python基础语法 3.1. 变量与数据类型 3.2. 运算符与表达式 3.3. 控制结构:条件语句与循环 3.4. 函数定义与使用 3.5. 输入与输出 3.6. 列表操作 4. 总结 1. 引言 Python作为一种简洁易学、功能强大的编程语言&#xff…

hadoop伪分布式环境启动时web端访问不到

在搭建hadoop伪分布式环境时,开启hdfs-site.sh后,web端访问不到,但是节点已经正常开启: 在尝试关闭防火墙后也没有效果,后来在/etc/hosts文件中加入本机的ip和主机名映射后,重新初始化namenode,…

电脑桌面记事本便签软件,记事本软件哪个好用

正在电脑前忙碌工作,突然想起今晚有个重要的会议,或者是明天有一个重要的任务需要完成,但是手头的工作又无法让你离开电脑,这时候,你多么希望有一个便捷的电脑桌面记事本便签软件,可以让你快速记录下这些重…

2016年认证杯SPSSPRO杯数学建模D题(第二阶段)NBA是否有必要设立四分线全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 D题 NBA是否有必要设立四分线 原题再现: NBA 联盟从 1946 年成立到今天,一路上经历过无数次规则上的变迁。有顺应民意、皆大欢喜的,比如 1973 年在技术统计中增加了抢断和盖帽数据;有应运而生、力…