Linux基础开发环境,yum 与 vim。

news2024/11/15 23:36:58

 ✅<1>主页:我的代码爱吃辣
📃<2>知识讲解:Linux
🔥<3>创作者:我的代码爱吃辣
💬<4>前言:Linux必不可少的基础开发环境使用。

 

目录

一.Linux软件包管理器 yum

(1)什么是软件包

 (2)查看软件包

(3)如何安装软件

(4)删除软件:

二.linux编辑器 vi/ vim 的使用

 (1)vim 的常用几种模式

(2)vim的基础操作

1.vim打开文件

2.进入插入模式

3.光标移动

4. 删除文字:

 5.复制文字

 6.替换文字

7.撤销操作

8.跳至指定行

(3)低行模式

1.列出行号

2.跳到文件中的某一行 

3.查找字符

 4.保存文件

 5.退出vim

6.vim 分屏查看


一.Linux软件包管理器 yum

(1)什么是软件包

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  • 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,Centos等发行版上.

注意事项:

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
可以通过 ping 指令验证:

ping www.baidu.com

 (2)查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:

yum list | grep lrzsz

注意事项:

  • 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
  • "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
  • 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念

(3)如何安装软件

通过 yum, 我们可以通过很简单的一条命令完成软件 lrzsz 的安装。

sudo yum install lrzsz 

或者

sudo yum install lrzsz -y

代表默认确认安装

 yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.
出现 "complete" 字样, 说明安装完成.

注意事项:

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  • 如果 yum 报错, 请自行百度.

(4)删除软件:

通过一条命令就可以删除本机安装的软件了:

yum remove 移除软件

或者

yum remove 移除软件 -y

表示默认确认。

二.linux编辑器 vi/ vim 的使用

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

 (1)vim 的常用几种模式

vim常用的模式:命令模式,插入模式,低行模式。

正常/普通/命令模式(Normal mode):

控制屏幕光标的移动,字符、字或行的删除,复制粘贴,某区段及进入Insert mode下,或者到 last line mode。

插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

:help vim-modes

(2)vim的基础操作

1.vim打开文件

命令:vim 文件名称

说明:如果没有此文件,就会创建此文件并通过vim打开。

2.进入插入模式

命令模式是我们进入vim时首先看到的模式,命令模式下无法编辑文件。如果想写代码,文案之类的,就需要进入插入模式。

  • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
  • 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件
  • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字

 如果切换回来命令模式,按 Esc 键。

3.光标移动

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、
  • 「l」,分别控制光标左、下、上、右移一格
  • 按「G」:移动到文章的最后
  • 按「 $ 」:移动到光标所在行的“行尾”
  • 按「^」:移动到光标所在行的“行首”
  • 按「w」:光标跳到下个字的开头
  • 按「e」:光标跳到下个字的字尾
  • 按「b」:光标回到上个字的开头
  • 按「#l」:光标移到该行的第#个位置,如:5l,56l
  • 按[gg]:进入到文本开始
  • 按[shift+g]:进入文本末端
  • 按「ctrl」+「b」:屏幕往“后”移动一页
  • 按「ctrl」+「f」:屏幕往“前”移动一页
  • 按「ctrl」+「u」:屏幕往“后”移动半页
  • 按「ctrl」+「d」:屏幕往“前”移动半页

4. 删除文字:

  • 「x」:每按一次,删除光标所在位置的一个字符。
  • 「nx」:每按一次,删除包含光标所在位置的“后面的n个字符。
  • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
  • 「nX」:删除光标所在位置的 ‘前面’ n个字符
  • 「dd」:删除光标所在行。
  • 「ndd」:从光标所在行开始往后删除 n 行

 5.复制文字

  • 「yw」:将光标所在之处的字符复制到缓冲区中。
  • 「nyw」:复制光标后的n个字到缓冲区中。
  • 「yy」:复制光标所在行到缓冲区。
  • 「#yy」:复制包含光标在内的后n行到缓冲区。
  • 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能,与x ,X ,nx ,nX ,dd配合形成剪切,粘贴。

 6.替换文字

  • 「r」:替换光标所在处的字符。说明:按下 r 之后,下一个按下的字符就会替换过去。
  • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。说明:按下 r 之后,下一个按下的字符就会替换过去,紧接着光标会自动往后移动一个位置,此时可以继续替换字符,直到按下 「ESC」键结束。

7.撤销操作

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
  • 「ctrl + r」: 对撤销进项撤销。

8.跳至指定行

  •   ctrl」+「g」列出光标所在行的行号。
  • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

(3)低行模式

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

1.列出行号

  • 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

2.跳到文件中的某一行 

  • :n   ,n 表示需要跳转的行号。输入回车就可以跳转到第 n 行。

3.查找字符

  • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
  • 区别:【/】查询首先定位到中间的关键字,按 [n] 往下查询;【?】查询首先定位到中间,按[n]往上查询

 4.保存文件

  • 「w」: 在冒号输入字母「w」就可以将文件保存起来

 5.退出vim

  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

6.vim 分屏查看

  • vs 文件:可以同时查看两个文件的内容。
  • 说明:可以使用 Ctrl ww 切换分开的屏幕。

展示:

 

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

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

相关文章

微电网经济优化运行(光伏、储能、柴油机)(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

液晶LCD1602驱动代码

液晶LCD1602简介LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏&#xff08;LCD&#xff09;、控制驱动主电路HD44780及其扩展驱动电路HD44100&#xff0c;以及少量电阻、电容元件和结构件等装配在PCB板上而组成。不同厂家生产的LCD1602芯片可能…

《数据结构》二叉树(性质and遍历)

目录 ​编辑 树的定义 概念 树的定义 二叉树的概念 满二叉树 概念 完全二叉树 概念 二叉树的性质 二叉树的遍历 先序遍历 中序遍历 后序遍历 层序遍历 树的定义 概念 树是一种非线性的数据结构 树的定义 子树是不相交的除了根节点外&#xff0c;每个节点有且仅有一个…

360度客户视频的内容和四种数据类型

提到CRM客户管理系统&#xff0c;您是不是经常听到“360度客户视图”这个词&#xff1f;所谓360度客户视图&#xff0c;让企业做到全方位地建立客户认知&#xff0c;消除客户生命周期所有的信息脱节。下面来详细讲讲&#xff0c;Zoho CRM系统的360度客户视图是什么&#xff1f;…

统计分析工具

百度统计 百度统计访问地址 https://tongji.baidu.com/web/10000370440/homepage/index 创建项目及获取项目标识 1、创建分析网站 在管理页面中点击新增网站&#xff0c;填写完信息 2、获取代码 得到如下代码&#xff1a; <script> var _hmt _hmt || []; (function…

测试开发必知必会:Pytest框架实战

应用场景&#xff1a; pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息&#xff0c;使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose&#xff0c;开箱即用。接下来我们详细了解下pyte…

数据究竟是什么?

我们搞大数据的&#xff0c;每天都在说“数据”这个词。但是数据究竟是什么&#xff1f;其准确的定义是什么&#xff1f;可能大多数人都没有思考过这个问题。首先&#xff0c;我们来考察下数据这个词的起源。数据这个词在古汉语中是不存在的&#xff0c;而是近代以来&#xff0…

在ObjectARX(VC)中使用MFC-可停靠窗体

目录 前言 一、使用CAD的CAcUiDockControlBar类 二、在入口程序中注册命令 三、窗口实现 四、目录结构 五、注意事项 六、效果展示 前言 CAD中经常会看到这样的窗口&#xff0c;下面就看看是如何实现的。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可…

ESP-IDF:传统链表测试

ESP-IDF:传统链表测试 在ESP-IDF环境下简单地写个传统链表 /--------------Test 传统链表-------------/ //链表结点 typedef struct LINKNODE11 { void * data; LINKNODE11 * next; }linknode11; //链表头 typedef struct LINKLIST11 { linknode11 * head; int size; }linkli…

SpringBoot快速搭建WebSocket并测试

目录简介Pom文件服务端Service代码服务端配置代码服务端Controller&#xff1a;发送消息给客户端测试开启ws服务端简介 WebSocket协议通过在客户端和服务端之间提供全双工通信来进行Web和服务器的交互功能。 在ws应用程序中&#xff0c;服务器发布websocket端点。 一个ws连接的…

通用`Query`解决方案

文章目录通用Query解决方案简介什么是QueryQuery类别Query基本使用SQL Query基本使用自定义Query基本使用现状方案通过Json数据或方法动态生成Query 通过Select Sql语句动态生成Query通过Query生成动态Query支持传统的Query并通过参数形式生成Query列定义通用Query&#xff0c;…

nacos区分权限

背景 nacos的默认是不进行分配权限的&#xff0c;那么这样就带来了一个问题&#xff0c;如果多项目共同使用一个nacos&#xff0c;可以带了一个情况是开发人员误操作&#xff0c;把其他项目的nacos配置文件更改或者删除。那么如何解决这个问题呢&#xff1f;就是把nacos进行分…

TF-A源码移植

1.对tf-a源码进行解压$> tar xfz tf-a-stm32mp-2.2.r2-r0.tar.gz 2.打补丁进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2目录执行for p in ls -1 ../../*.patch; do patch -p1 < $p; done3.配置工具链1)进入/home/ubuntu/…

GJB 5000B二级-ESM外部供方管理

一、主要变化情况 新增3项(红色)、删除1项(黄色)、合并2项(绿色)、修订4项(蓝色) 将原标准过程域名称“供方协议管理”改为“外部供方管理”,其适应范围包括所以形式的外部提供过程、产品和服务协议,同时增加对外部供方按协议提供过程、产品和服务能力评价的内容,…

小偷和抢劫是被怎么遏制的?

小偷和抢劫是怎么被消灭的&#xff1f; 是被摄像头消灭的&#xff01; 一切土地和实物都会被安装传感设备监控 农业生产用地也会被物联检测 趣讲大白话&#xff1a;万物互联时代稳步实现 *********** 全国有5000万亩茶园 20年内一定会被物联网化 进入精耕农业时代 20年后&…

一篇文章带你了解自动化测试开发

都讲自动化测试开发&#xff0c;当然要把开发自动化测试框架也当做一个项目来做。这时候&#xff0c;就需要考虑应该选择何种类型的自动化测试框架&#xff1a;数据驱动、关键字驱动、还是Junit ,TestNG ? 抑或直接利用现有的开源自动化测试框架&#xff0c;如Robot Framework…

Mysql内核查询成本计算实战(一)

目录 Mysql内核查询成本计算实战&#xff08;一&#xff09; Optimizer Trace 什么是成本 I/O成本 CPU成本 单表查询的成本 MySQL查询成本计算实战 1.根据搜索条件&#xff0c;找出所有可能使用的索引 2. 计算全表扫描的代价 3. 计算使用不同索引执行查询的代价 4. 对…

CAD中怎么局部升降桥架?CAD局部升降操作技巧

在使用浩辰CAD电气软件绘制电气图纸的时候&#xff0c;常常会用到三维桥架中的一些功能来进行桥架的CAD设计工作&#xff0c;为了让大家对此有更深入的了解&#xff0c;接下来的CAD设计教程就和小编一起来看看正版CAD软件——浩辰CAD电气软件的三维桥架中局部升降功能的相关使用…

Magisk模块开发指南

BusyBox Magisk整合了功能完整的BusyBox二进制文件(包括对SELinux的完整支持)。执行文件位于/data/adb/magisk/busybox。Magisk的BusyBox支持运行时可切换的“ASH Standalone Shell Mode(ASH独立Shell模式)”。这种独立模式的意思是,在ashshell的中的BusyBox运行时,无论PATH…

MySQL核心参数优化文件my.ini详解

一.数据库服务器配置 CPU&#xff1a;48C 内存&#xff1a;128G DISK&#xff1a;3.2TSSD 二.CPU的优化 innodb_thread_concurrency32 表示SQL经过解析后&#xff0c;允许同时有32个线程去innodb引擎取数据&#xff0c;如果超过32个&#xff0c;则需要排队&#xff1b; 值太…