Linux基础开发工具(vim编译器,yum与apt软件安装)

news2025/3/4 15:36:05

Linux 下载安装软件的方案

源代码安装-》》》非常麻烦与复杂一步错步步错

rmp包安装 -》》》只是安装没有对应的库与依赖相当于只是一个外壳

包管理器进行安装-》》 yum apt(本篇重点讲解)

1.什么是软件包和软件包管理器

就好⽐ "App" 和 "应⽤商店" 这样的关系.

  • yum(Yellow dog Updater, Modified)是Linux下⾮常常⽤的⼀种包管理器. 主要应⽤在Fedora,

RedHat, Centos等发⾏版上.

  •  Ubuntu:主要使⽤apt(Advanced Package Tool)作为其包管理器。apt同样提供了⾃动解决依赖关系、下载和安装软件包的功能。

 2.Linux下载软件的过程(Ubuntu、Centos、other)

大家以为这样就可以了吗,不是的我们所用的操作系统全是由外国人写的因此我们就需要调用国外的云服务器来实现包管理器的安装与下载,但是我们国家为了防止网络威胁会有层墙,因此为了省事省力且国家安全就有了--》》镜像

 这就像把外国的云服务器给复制粘贴到国内。

例如:

1. 阿⾥云官⽅镜像站
◦ 官⽅链接:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
◦ 阿⾥云提供了丰富的Linux发⾏版镜像,包括CentOS、Ubuntu、Debian等,⽤⼾可
以通过该镜像站快速下载和更新软件包。

 yum或apt具体操作

1查找

通过 yum list 或apt search 命令可以罗列出当前⼀共有哪些软件包. 由于包的数⽬可能⾮常之多, 这⾥我们需要使⽤grep 命令只筛选出我们关注的包

ubuntu apt下 

⚠️⚠️以sl为例

apt search sl

该命令用于搜索与指定关键字相关的软件包,包括软件包的描述。

apt list | grep sl

 该命令首先列出所有可用的软件包(已安装的和可安装的),然后通过 grep 过滤出包含指定关键字的行。  有的Ubuntu的版本不让用

 在yum下


yum list | grep sl

该命令用于搜索与指定关键字相关的软件包,包括软件包的描述。

2下载

前提:在Linux下的软件,root安装了,普通账号也是可以用的(以other身份使用)。

sudo apt或yum install [-y] sl

3.删除

sudo apt或yum remove [-y]sl

 [-y] 强制

现在我们就可以用安装的软件了 例如 sl

如如想安装更多有趣的命令,可以看一下他的博客

Linux命令行的有趣命令_linux有趣的命令-CSDN博客

编辑器Vim

Vim 是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它最初是作为 Vi(Visual Interface)编辑器的改进版而开发的

1.为嘛现在还要学没有图形化界面的vim

1.高效的工作流程:通过减少对鼠标的依赖,开发者可以更快地进行代码编辑和导航。

2.高度的可定制性  3.跨平台支持

2 vim的基本概念

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

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

  • 插⼊模式(Insert mode)

只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。

  • 末⾏模式(last line mode)

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

vim的基本操作模式转换

  •  进⼊vim,在系统提⽰符号输⼊vim及⽂件名称后,就进⼊vim全屏幕编辑画⾯:


 不过有⼀点要特别注意,就是你进⼊vim之后,是处于[正常模式],你要切换到[插⼊模式]才能够
输⼊⽂字。

  •  [正常模式]--》》[插⼊模式]

 输⼊a / 输⼊i / 输⼊o(三选一)

  •  [插⼊模式]--》》[正常模式]

⽬前处于[插⼊模式],就只能⼀直输⼊⽂字,如果发现输错了字,想⽤光标键往回移动,将该字删
除,可以先按⼀下「ESC」键转到[正常模式]再删除⽂字。当然,也可以直接删除。

  •  [正常模式]--》》[末⾏/底行模式]

「shift + ;」, 其实就是输⼊「:」  


 如何退出vim

  • 退出vim及保存⽂件,在[正常模式]下,按⼀下「:」冒号键进⼊「Last line mode」,例如:
  1.  : w (保存当前⽂件)
  2.  : wq (输⼊「wq」,存盘并退出vim)
  3.  : q! (输⼊q!,不存盘强制退出vim)
  4. 也可以一起 在回车

 vim正常模式命令集

  •  插⼊模式
  1. 按「i」切换进⼊插⼊模式「insert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊

⽂件;

  1. 按「a」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;
  2. 按「o」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。从插⼊模式切换为命令模式
  3.  按「ESC」键。
  • 移动光标
  1. vim可以直接⽤键盘上的光标来上下左右移动,但正规的vim是⽤⼩写英⽂字⺟「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移⼀格
  2.  按「G」:移动到⽂章的最后
  3. 按「 $ 」:移动到光标所在⾏的“⾏尾”
  4. 按「^」:移动到光标所在⾏的“⾏⾸”
  5. 按「w」:光标跳到下个字的开头
  6. 按「e」:光标跳到下个字的字尾
  7.  按「b」:光标回到上个字的开头
  8. 按「#l」:光标移到该⾏的第#个位置,如:5l,56l
  9. 按[gg]:进⼊到⽂本开始
  10. 按[shift+g]:进⼊⽂本末端
  11. 按「ctrl」+「b」:屏幕往“后”移动⼀⻚
  12. 按「ctrl」+「f」:屏幕往“前”移动⼀⻚
  13. 按「ctrl」+「u」:屏幕往“后”移动半⻚
  14. 按「ctrl」+「d」:屏幕往“前”移动半⻚
  •  删除⽂字
  1. 「x」:每按⼀次,删除光标所在位置的⼀个字符
  2. 「#x」:例如,「6x」表⽰删除光标所在位置的“后⾯(包含⾃⼰在内)”6个字符
  3.  「X」:⼤写的X,每按⼀次,删除光标所在位置的“前⾯”⼀个字符
  4. 「#X」:例如,「20X」表⽰删除光标所在位置的“前⾯”20个字符
  5. 「dd」:删除光标所在⾏
  6. 「#dd」:从光标所在⾏开始删除#⾏
  • 复制
  1. 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  2.  「#yw」:复制#个字到缓冲区
  3.  「yy」:复制光标所在⾏到缓冲区。
  4.  「#yy」:例如,「6yy」表⽰拷⻉从光标所在的该⾏“往下数”6⾏⽂字。
  5.  「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
  •  替换
  1. 「r」:替换光标所在处的字符。
  2. 「R」:替换光标所到之处的字符,直到按下「ESC」键为⽌。 撤销上⼀次操作
  3. 「u」:如果您误执⾏⼀个命令,可以⻢上按下「u」,回到上⼀个操作。按多次“u”可以执⾏多次回复。
  4.  「ctrl + r」: 撤销的恢复

可以相互撤销

  • 更改
  1. 「cw」:更改光标所在处的字到字尾处
  2. 「c#w」:例如,「c3w」表⽰更改3个字跳⾄指定的⾏
  3. 「ctrl」+「g」列出光标所在⾏的⾏号。
  4.  「#G」:例如,「15G」,表⽰移动光标⾄⽂章的第15⾏ ⾸。

vim末⾏(底行)模式命令集


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

  •  列出⾏号

 「set nu」: 输⼊「set nu」后,会在⽂件中的每⼀⾏前⾯列出⾏号。

  • 跳到⽂件中的某⼀⾏

「#」:「#」号表⽰⼀个数字,在冒号后输⼊⼀个数字,再按回⻋键就会跳到该⾏了,如输⼊数字
15,再回⻋,就会跳到⽂章的第15⾏。

  • 查找字符
  1. 「/关键字」: 先按「/」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可以⼀直按「n」会往后寻找到您要的关键字为⽌。
  2. 「?关键字」:先按「?」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的可以⼀直按「n」会往前寻找到您要的关键字为⽌。
  3.  问题:∕ 和 ?查找有和区别?操作实验⼀下
  •  保存⽂件

「w」: 在冒号输⼊字⺟「w」就可以将⽂件保存起来

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

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

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

相关文章

神经网络 - 激活函数(Maxout 单元)

一、Maxout 单元 Maxout 单元是一种特殊的激活函数,用于神经网络中,其主要思想是通过多个线性变换的最大值来作为神经元的输出,从而提高模型的表达能力和鲁棒性。 1. 数学定义 假设输入为 x,Maxout 单元会计算 k 个线性变换&am…

nginx+keepalived负载均衡及高可用

1 项目背景 keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。采用nginxkeepalived,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的…

VirtualBox虚拟机转VM虚拟机

前言:部分靶机只适用于VirtualBox,VM打不开VirtualBox的文件,所以需要进行转换 前置条件:本机已经下载VM和VirtualBox 第一步:文件转换 找到VirtualBox.exe所在位置,启动cmd窗口 文件转换的命令&#xf…

使用DeepSeek+KIMI生成高质量PPT

一、使用DeepSeek DeepSeek官网:DeepSeek 点击“开始对话”,进入交互页面。 在上图中,输入问题,即可获取AI生成的结果。 基础模型(V3):通用模型(2024.12),高…

基于SpringBoot的失物招领平台的设计与实现

基于SpringBoot的失物招领平台的设计与实现 基于微信小程序的失物招领系统 失物招领小程序 校园失物招领小程序 基于微信小程序SSMMySQL开发,高分JAVA成品毕业设计,附带往届论文、启动教程、讲解视频、二次开发教程和配套安装包文件,论文中…

鸿蒙NEXT开发-元服务和服务卡片的开发

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 目录 1. 元服务基本概念 1.1 基本介绍 1.2 元…

【Spark+Hive】基于Spark大数据技术小红书舆情分析可视化预测系统(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅

目录 一、项目背景 二、项目目标 三、算法介绍 四、开发技术介绍 五、项目创新点 六、项目展示 七、权威教学视频 源码获取方式在文章末尾 一、项目背景 在数字经济蓬勃发展的当下,社交电商平台小红书凭借其"内容电商"的独特模式,已…

IO基础知识和练习

一、思维导图 二、练习 1.使用标准IO函数&#xff0c;实现文件的拷贝 #include <head.h> int main(int argc, const char *argv[]) {FILE *pfopen("./one.txt","r");FILE *fpfopen("./two.txt","r");if(pNULL)PRINT_ERROR(&qu…

gradle libs.versions.toml文件

1.libs.versions.toml介绍2.创建libs.versions.toml文件3.libraries5.versions6.plugins7.bundles 1.libs.versions.toml介绍 下图是官网介绍 意思就是说项目所有插件和库的依赖版本都统一在这个文件配置。 文件中有以下四个部分 versions, 申明要使用的插件和库的版本号的…

2025 Lakehouse 趋势全景展望:从技术演进到商业重构

1. 为什么湖仓正在成为企业数据架构的必选项&#xff1f; 越来越多的企业正在通过实时数据处理能力构建核心竞争力——用户期待 APP 精准捕捉需求并实时响应&#xff0c;企业员工追求业务系统的秒级反馈&#xff0c;这些场景背后是千亿级数据资产的敏捷调度。 据 IDC 预测&am…

一、NRF2401无线通信模块使用记录

一、电路引脚图 1、引脚说明&#xff1a; 2、引脚标号&#xff1a; 找到1号引脚&#xff0c;与原理图对号入座。 3、cubemx初始化配置&#xff1a; 5、驱动文件 配置spi&#xff0c;并构建发送与接收函数接口 .h #define TX_ADR_WIDTH 5 //发射地址宽度 #define TX_PLO…

NVIDIA GPU 架构详解:Pascal、Volta、Turing、Ampere、Ada、Hopper、Blackwell

目录 1. Pascal&#xff08;帕斯卡&#xff09;架构&#xff08;2016&#xff09;关键技术性能特性代表产品应用场景 2. Volta&#xff08;伏特&#xff09;架构&#xff08;2017&#xff09;关键技术性能特性代表产品应用场景 3.Turing&#xff08;图灵&#xff09;架构&#…

初阶数据结构(C语言实现)——3顺序表和链表(2)

2.3 数组相关面试题 原地移除数组中所有的元素val&#xff0c;要求时间复杂度为O(N)&#xff0c;空间复杂度为O(1)。OJ链接 力扣OJ链接-移除元素删除排序数组中的重复项。力扣OJ链接-删除有序数组中的重复项合并两个有序数组。力扣OJ链接-合并两个有序数组 2.3.1 移除元素 1…

IP-----BGP协议

7.BGP协议 1.BGP的所属分类 2.BGP的特性 3.BGP的数据包 4.BGP的6种状态机 5.BGP的工作过程 6.BGP的路由黑洞 1.BGP路由黑洞 2.解决方法 7.BGP的防环 1.EBGP水平分割 2.IBGP水平分割 1.解决IBGP环路的规则 2.解决IBGP水平分割问题 3.作用 8.BGP的基础配置 1.查看…

【String】917. 仅仅反转字母

917. 仅仅反转字母 - 力扣&#xff08;LeetCode&#xff09; 使用双指针&#xff0c;一个指针指向s的开始&#xff0c;一个指向s的末尾&#xff0c;同时遍历即可。

python3使用selenium打开火狐并全屏

序言 本来桌面端全屏这种东西现在用electron或者tauri来做软件的全屏&#xff0c;但是奈何今天拿到了一块早些年的nx板子&#xff0c;arm架构的&#xff0c;系统有点老&#xff0c;装node只能到16版本&#xff0c;装了半天终于搞好了&#xff0c;发现这个系统没法隐藏系统的顶…

探秘基带算法:从原理到5G时代的通信变革【二】Viterbi解码

文章目录 二、关键算法原理剖析2.1 Viterbi 解码2.1.1 卷积码与网格图基础**卷积码****网格图****生成多项式****理想情况下解码过程** 2.1.2 Viterbi 算法核心思想2.1.3 路径度量与状态转移机制2.1.4 算法流程与关键步骤详解2.1.5 译码算法举例与复杂度分析2.1.6 算法代码示例…

金融项目实战

测试流程 测试流程 功能测试流程 功能测试流程 需求评审制定测试计划编写测试用例和评审用例执行缺陷管理测试报告 接口测试流程 接口测试流程 需求评审制定测试计划分析api文档编写测试用例搭建测试环境编写脚本执行脚本缺陷管理测试报告 测试步骤 测试步骤 需求评审 需求评…

命令行参数和环境变量 ─── linux第13课

目录 命令行参数 命令行参数列表: 如何实现命令行参数传递到此进程 环境变量 基本概念 常见环境变量 查看环境变量方法 ​编辑 环境变量如何写入 总结: 测试PATH 命令行参数 同一个程序,可以根据命令行参数的不同,表现不同功能 比如:指令中的选项的实现. ls -al…

基于 openEuler 22.09 的 OpenStack Yoga 部署

openEuler 虚拟化环境部署 使用 VMWare Workstation 创建三台 2 CPU、8G内存、100 GB硬盘 的虚拟机 主机 IP 作用 Controller 192.168.184.110 控制节点 Compute 192.168.184.111 计算节点 Storage 192.168.184.112 存储节 一 基础配置 1.1 配置 yum 源 由于 op…