当前位置: 首页 > news >正文

Linux-3 yum和vim

目录

本节目标:

Linux 软件包管理器 yum

什么是软件包

1.yum是什么?软件包?

2.Linux(centos)的生态

3.yum的相关操作

我怎么知道我应该安装什么软件? 

4.yum的本地配置

关于 rzsz

查看软件包

Linux编辑器-vim使用

1.vim的概念

 vim三种模式的转换

2.vim的指令

命令模式

插入模式

底行模式

分屏

注释 

3. 解决普通用户无法sudo问题

4.简单vim配置

1.原理 

 5.ctrl+z退出vim问题


本节目标:

1. 学习yum工具,进行软件安装
2. 掌握vim编辑器使用,学会vim的简单配置
3. 掌握gcc/g++编译器的使用,并了解其过程,原理
4. 掌握简单gdb使用于调试
5. 掌握简单的Makefile编写,了解其运行思想
6. 编写自己的第一个Linux 程序:进度条
7. 学习 git 命令行的简单操作, 能够将代码上传到 Github 上

Linux 软件包管理器 yum

什么是软件包

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

1.yum是什么?软件包?

yum是一个软件下载安装管理的一个客户端,小米应用商店、华为应用商城
Linux中软件包可能有依赖关系 -- yum会帮我们解决依赖关系的问题
软件包是谁给的 ???

2.Linux(centos)的生态

源代码安装,rpm包安装,yum安装

各种不同的环境编译好

我的机器内部一定内置了目标服务器的地址连接,当我们用yum进行下载时,则是将web地址给与到yum,与之相连接

yum的仓库配置文件

打开仓库

3.yum的相关操作

yum list | grep XXX:查看yum的可下载文件

[sudo/root身份]yum install [-y]XXX:用yum进行安装

[sudo/root身份]yum remove [-y]XXX:用yum进行删除

我怎么知道我应该安装什么软件? 

引用软件源来安装更多软件

4.yum的本地配置

配置将来是在干什么 ???
yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构成自己的下载链接,(根据OS版本、根据你要下载的软件),yum帮助我们下载,安装
一般的机器,内置的链接地址是centos的官网,软件链接都指向的是国外的。yum可能会比较慢,所以需要配置
如何配置?本质就是更改文件,或者更改文件内容。

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

清除缓存、生成缓存、升级更新

yum clean all

yum makecache

yum -y update

使用yum一般都是要联网的

关于 rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.
安装完毕之后可以通过拖拽的方式将文件上传过去

rz:从Windows传送文件到Linux系统当前目录下,图形化界面——推拽文件到linux(rz-E)

sz:将Linux文件传输到windows本地

scp: 远程拷贝

scp [参数] [原路径] [目标路径]

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

ping www.baidu.com

查看软件包

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

yum list | grep lrzsz

结果如下:

lrzsz.x86_64 0.12.20-36.el7 @base

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

Linux编辑器-vim使用

1.vim的概念

vim的三种主要模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

 vim三种模式的转换

命令模式-》底行模式:shift+;

底行模式-》命令模式:esc

命令模式-》插入模式:i(从原位置开始输入),o(另起一行进行输入),a(从第二个字符开始输入)

插入模式-》命令模式:esc

底行模式与插入模式不能互相到达

2.vim的指令

1.vim可以默认打开,单独一个vim

退出时需要shift+;+q!强制退出

2.vim test.c默认打开(即没有提前新建test.c文件)不写东西,直接q!退出,不保存,不会新建文件

命令模式

n+yy:复制当前行 n:连续复制n行
n+p:粘贴,当前光标的下一行 n:表示把指定内容粘贴n次
u撤销 ctrl+r:对历史微销,进行撒销

n+dd:剪切/删除指定行、连续的多行

shift+4=$:将光标定位到当前行的结尾
shift+6=^:将光标定位到当前行的开始
gg:将光标定位到整个文本的最开头
shift+g=G:将光标定位到整个文本的最后十行
n+shift+g=nG:将光标定位到整个文本任意一行
h.j.k,l:左,下,上,右,也可以带n。 --- >快速记住
w:按照单词为单位进行光标后移
b:按照单词为单位进行光标前移

Shift+' =~: 大小写快速切换
n+x:删除光标后续的一个字符,可以一次删除n个 -- 一行内
n+shift+x=X:删除光标之前的一个字符,可以一次删除n个 --- 一行内
n+r:对光标指定的位置,进行一个字符的替换,可以一次替换多个
shift+r=R:进入替换模式,直接进行文本替换,退出此模式输入esc

shift+zz=ZZ:保存井退出

插入模式

命令模式下输入a,i,o进入,输入代码

底行模式

w:保存
q:退出
wq:保存井退出
!: 强制

set nu、 nonu: 打开行号,去掉行号
/关键字:做搜索
Icommand:不退出vim,可以进行shell命令的执行。
常用函数查看

:vs filename 分屏,多文件操作

分屏

底行模式下:

分屏:vs 文件名

ctrl+ww:界面之间光标的转移

注释 

批量化注释
第一步 ctrl+v进入VISUAL BLOCK模式

第二步 hjkl区域选择(j)

第三步 shift+i=l进入插入模式,再输入//

第四步 执行两次esc

批量化去注释
第一步 ctrl+v进入VISUAL BLOCK模式,

第二步 hjkl区域选择

第三步 (包含且仅包含//),开始只会选中一列再按l键进行框选,框选中//,再输入d

3. 解决普通用户无法sudo问题

平常的普通用户无法执行sudo命令提权,只有是被信任的用户才可以使用sudo

在这个文件中添加此用户,即为被信任的用户,才可以使用sudo命令

ls /etc/sudoers

再sudoers文件中添加用户,只能再root(超级管理员)下去添加用户

1.vim /etc/sudoers进入文件信息

2.找到以下框图,下面添加你的用户,样例与root一样

 

3.之后退出时,在底行模式中,用wq!强制退出

4.简单vim配置

1.原理 

vim不是简单直接执行可执行程序就行,也会读取若干配置文件, .vimrc

在我们的家目录里面会有一些隐藏文件

如果没有,可以在此目录下创建一个.vimrc的文件,在此文件中可以写vim的配置项

之后再打开你的文件,会实时执行

加上行号

vim test.c

 5.ctrl+z退出vim问题

ctrl+z的话,ctrl+z并不是退出test.c,表示将程序暂停了

暂停之后相当于这个vim变成了后端任务

ps ajx | grep vim

这个vim还是再运行

尽量用kill去点这个vim运行

之后打开vim还是会显示这个页面,是因为vim再异常崩溃的时候,会在当前默认目录下形成一个临时文件,这个临时文件(.test.c.swp)方便我们进行恢复,按下E即可恢复编写,但之后打开vim还是会出现下面画面

生成的临时文件时隐藏的,ls -la下,再吧.test.c.swp删除就不会有上述页面出现

相关文章:

Linux-3 yum和vim

目录 本节目标: Linux 软件包管理器 yum 什么是软件包 1.yum是什么?软件包? 2.Linux(centos)的生态 3.yum的相关操作 我怎么知道我应该安装什么软件? 4.yum的本地配置 关于 rzsz 查看软件包 Linux编辑器-vim使用 1.v…...

什么是计算机视觉?计算机视觉:从基础到前沿

引言 计算机视觉,作为人工智能的一个重要分支,致力于赋予机器“看”的能力——即从图像或视频中理解和解释视觉信息的能力。这项技术的发展为自动驾驶汽车、面部识别、机器人导航等多种应用开辟了道路,正在逐步改变我们的工作和生活方式。本…...

Java中的可变字符串

Java中的可变字符串 一、什么是可变字符串二、可变字符串的使用场景以及使用步骤1.新建一个可变字符串2.可变字符串的一系列方法 一、什么是可变字符串 可变字符串是Java.lang包下的 在我们学习到JDBC的时候需要将原有的sql语句根据不同的差异添加一段新的关键字或者单词&…...

C++多线程:单例模式与共享数据安全(七)

1、单例设计模式 单例设计模式,使用的频率比较高,整个项目中某个特殊的类对象只能创建一个 并且该类只对外暴露一个public方法用来获得这个对象。 单例设计模式又分懒汉式和饿汉式,同时对于懒汉式在多线程并发的情况下存在线程安全问题 饿汉…...

康耐视visionpro-CogAcqFifoTool工具详细说明

CogAcqFifoTool操作说明: ① 打开工具栏,双击或点击鼠标拖拽 添加CogAcqFifoTool ②.从图片采集设备/图像采集卡列表里选择对应的相机,视频格式选择图像格式。 Mono表示黑白图像,RGB表示彩色相机。点击初始化取相初始化相机。 ③…...

静态图片如何生成gif动画?一个网站在线实现

在当下这个媒体时代,各种各样的图片充斥着我们的生活。尤其是gif动图能够快速有效的传递信息,让用户更加直观的了解某个时间或是场景。非常的生动便捷,那么怎么弄制作gif动画图片呢?其实,只是gif动画的方法非常的简单&…...

Git 实战教程

Git 是一款强大的分布式版本控制系统,广泛用于团队协作与项目管理。本文将为你提供一份 Git 的实战教程,通过实例演示 Git 的基本用法和高级特性,帮助你快速上手 Git。 一、Git 基础 安装 Git 首先,你需要在你的计算机上安装 G…...

解决Vue中仓库持久化的问题,不借助插件用原生JS实现仓库持久化。了解仓库的插件机制、监听的时机

1、演示 前言:目前Vue有两种仓库,一种是Vuex,一种是Pinia,懂得都懂,这里就不详细介绍这两者的区别了 2、什么是持久化 仓库里面的数据是需要跨越页面周期的,当页面刷新之后数据还在,在默认情况下…...

ajax的优缺点有哪些?

我们先来介绍一下什么是ajax: 对于ajax的理解,ajax是一种使用现有技术集合技术内容包括: HTML或XHTML、CSS、 JavaScript、DOM、XML、 XSLT, 以及最重要的XMLHttpRequest。 用于浏览器与服务器之间使用异步数据传输(HTTP请求),做…...

自贡市第一人民医院:超融合与 SKS 承载 HIS 等核心业务应用,加速国产化与云原生转型

自贡市第一人民医院始建于 1908 年,现已发展成为集医疗、科研、教学、预防、公共卫生应急处置为一体的三级甲等综合公立医院。医院建有“全国综合医院中医药工作示范单位”等 8 个国家级基地,建成高级卒中中心、胸痛中心等 6 个国家级中心。医院日门诊量…...

vue使用iview导航栏Menu activeName不生效

activeName不生效 一、问题一、解决方案, 一、问题 根据ivew官网的提示,设置了active-name和open-names以后,发现不管是设置静态是数据还是设置动态的数据,都不生效 一、解决方案, 在设置动态名称的时候&#xff0c…...

谷粒商城实战(008 缓存)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第151p-第p157的内容 简介 数据库承担落盘(持久化)工作 拿map做缓存 这种是本地缓存,会有一些问题 分布…...

python的相关语法

Day01 1.Python是什么语言 python是解释性语言,什么为编译?1.生成目标文件,编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就行。…...

【面试经典150 | 动态规划】最小路径和

文章目录 写在前面Tag题目来源解题思路方法一:动态规划方法二:空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题…...

生成式AI的情感实验——AI能否产生思想和情感?

机器人能感受到爱吗?这是一个很好的问题,也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感,但智能机器却已经可以借助生成式人工智能(AI)来帮助我们表达自己的情感。 自然情感表达 AI正…...

力扣贪心算法--第一天

前言 今天是贪心算法的第一天,算法之路重新开始! 内容 之前没了解过贪心算法。 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。难点就是如何通过局部最优,推出整体最优。 一、455.分发饼干 假设你是一…...

Nginx反向代理和缓存

一、Nginx反向代理 1.调度和代理的区别: 1.调度基于内核层面,代理基于应用层面 2.代理必须实现一手托两家 3.调度不需要监听任何端口,不需要工作任何应用程序,代理需要工作和上游服务器一模一样的进程 4.调度没有并发上限&am…...

支持多元AI场景应用,宁畅“NEX AI Lab”开放试用预约中

3月29日,宁畅在京举行发布会,正式发布“全局智算”战略,并在会上推出战略性新品“AI算力栈”,旨在有效解决大模型产业落地的全周期问题。 据宁畅CTO赵雷介绍,“AI算力栈”集成了宁畅在AI计算领域的软硬件能力&#xff…...

Git 如何合并多个连续的提交

我平常的编程喜欢是写一段代码就提交一次,本地一般不攒代码,生怕本地有什么闪失导致白干。但这样就又导致一个问题:查看历史日志时十分不方便,随便找一段提交可以看到: > git log --oneline 8f06be5 add 12/qemu-h…...

k8s 基础入门

1.namespace k8s中的namespace和docker中namespace是两码事,可以理解为k8s中的namespace是为了多租户,dockers中的namespace是为了网络、资源等隔离 2.deployment kubectl create #新建 kubectl aply #新建 更新 升级: 滚动升级&#x…...

【Python项目】AI动物识别工具

目录 背景 技术简介 系统简介 界面预览 背景 成像技术在全球科技发展中扮演了关键角色。在科学研究领域,拍摄所得的图像成为了一种不可或缺的研究工具。特别是在生态学与动物学研究中,鉴于地球的广阔地域和多样的气候条件,利用图像技术捕…...

逻辑回归(Logistic Regression)详解

逻辑回归是一种用于解决二分类问题的统计方法,它通过构建一个模型来预测某个事件的概率。 以下是逻辑回归的一些关键要点: 适用场景:逻辑回归特别适合于处理二分类问题,即两个类别的分类问题,例如判断一封邮件是否为…...

.vimrc文件的语句语法

本文结构: a、简介 b、详细解释其中的一些常见语句和语法。 a、.vimrc 文件是 Vim 编辑器用于配置用户设置和自定义行为的文件。当 Vim 启动时,它会读取 .vimrc 文件中的命令和设置,并根据这些指令来配置编辑器的行为。 b、.vimrc 文件中…...

c语言之函数指针作形参

在一些c语言的大工程中&#xff0c;会在定义的函数中&#xff0c;把一些其他函数指针作为本函数形参。 函数指针作形参的例子 代码如下: #include<stdio.h> int max(int a,int b) { return(a>b?a:b); } int min(int a,int b) { return(a<b?a:b); } i…...

python文件的读取操作

打开文件 fopen("F:/python/helloworld/测试.txt","r",encoding"UTF-8")读取文件 print(f"读取10个字节的结果{f.read(10)}") print(f"读取全部字节的结果{f.read()}") linesf.readlines() print(f"{lines}")读…...

查看并设定【网络适配器】的优先级(跃点数)

目录 前言&#xff1a; 1.查看所有的适配器 2.修改优先级&#xff08;需要以管理员身份运行&#xff09; 跃点数&#xff08;InterfaceMetric &#xff09; DHCP 3.修改后的效果 pwoerShell 再次运行之前的程序 4.其他 参考 网络适配器1&#xff0c;8相关知识介绍1 …...

深入理解 Hadoop 上的 Hive 查询执行流程

在 Hadoop 生态系统中&#xff0c;Hive 是一个重要的分支&#xff0c;它构建在 Hadoop 之上&#xff0c;提供了一个开源的数据仓库系统。它的主要功能是查询和分析存储在 Hadoop 文件中的大型数据集&#xff0c;包括结构化和半结构化数据。Hive 在数据查询、分析和汇总方面发挥…...

JS封装网页进入/退出全屏功能,兼容各大主流浏览器

1、演示 2、封装进入全屏函数 mozRequestFullScreen&#xff1a;兼容Firefox webkitRequestFullscreen&#xff1a;兼容 Chrome、Safari、Opera msRequestFullscreen&#xff1a;兼容&#xff1a;IE/Edge const enter () > {const element document.documentElementif (el…...

el-table的复选框勾选整行变色

要实现el-table的复选框勾选整行变色&#xff0c;你可以使用element-ui提供的row-class-name属性结合scoped slot来完成。 首先&#xff0c;你需要为el-table组件添加 row-class-name 属性&#xff0c;并给它绑定一个方法。在这个方法中&#xff0c;你可以根据你的业务逻辑来判…...

一步一步写线程之八线程池的完善之二数据结构封装

一、数据容器 在前面分析过&#xff0c;不管是线程任务的封装还是同步数据队列的封装&#xff0c;都是需要一个数据结构的。一用来说&#xff0c;如果没有什么特殊的原因&#xff0c;开发者都是使用STL中数据结构。比如前面经常见到的std::queue,std::deque,std::vector,std::…...

电商网站建设与管理/北京seo收费

使用tc限制所有流量匹配tcp(协议6)目标端口54000(256Kbits入站)到eth0的所有流量的示例…作为根……tc qdisc add dev eth0 handle ffff: ingresstc filter add dev eth0 parent ffff: protocol ip prio 50 u32 \match ip protocol 6 0xff \match ip dport 54000 0xffff police…...

中山市 做网站/在线crm网站建站

如有错误&#xff0c;恳请指出。 文章目录1. MMDetection的安装2. MMDetection的使用2.1 官方demoImage推理Video推理Webcam推理2.2 实践测试OpenMMLad有一系列的开源算法库&#xff0c;包含分类&#xff0c;检测&#xff0c;分割等等计算机视觉的任务&#xff0c;这篇博客用来…...

梅州网站建设/广告推广怎么做

构造函数初始化列表以一个冒号开始&#xff0c;接着是以逗号分隔的数据成员列表&#xff0c;每个数据成员后面跟一个放在括号中的初始化式。例如&#xff1a; class CExample { public:int a;float b;//构造函数初始化列表CExample(): a(0),b(8.8){}//构造函数内部赋值CExampl…...

哪里有可以做空比特币的网站/宁波seo推广如何收费

1、常量用易于理解的清楚的名称替代了含义不明确的数字或字符串&#xff0c;使程序更易于阅读。2、常量使程序更易于修改。例如&#xff0c;在C#程序中有一个SalesTax常量&#xff0c;该常量的值为6%。如果以后销售税率发生变化&#xff0c;把新值赋给这个常量&#xff0c;就可…...

公众号链接的手机网站怎么做/百度seo快排软件

前段时间在哔哩哔哩上刷到了一个资源分享的博主&#xff0c;做一个前端学习资源总结&#xff0c;有兴趣学习或者前端查漏补缺的小伙伴去看看 哔哩哔哩的博主地址&#xff1a;技术胖的个人空间_哔哩哔哩_Bilibili前端知识总结&#xff1a;前端知识图谱B站视频整合: 前端知识图谱…...

网站怎么自己做服务器/班级优化大师app下载

欢迎关注个人公众号摸鱼范式 前期准备了两个项目&#xff0c;一个是集创赛&#xff0c;一个是复微杯的&#xff0c;面试中主要就是在讨论这两个项目内容。 投递的岗位都是数字IC设计与验证&#xff0c;我的简历偏向验证。 部分简历 平头哥 4.16投递简历&#xff0c;没有笔试 …...