Linux-3 yum和vim

news2024/11/25 18:46:35

目录

本节目标:

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删除就不会有上述页面出现

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

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

相关文章

Git合并利器:Vimdiff使用指南

使用 vimdiff 作为 Git 的合并工具确实可能会让新手感到困惑,但它是一个功能强大的工具,一旦掌握了它,就可以非常高效地进行代码合并和比较。以下是一个简短的教程,旨在帮助理解 vimdiff 的基本用法以及如何利用它来进行 Git 合并…

Adaboost集成学习 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列预测(股票价格预测) 模型设计 股票价格预测是一个具有挑战性的时间序列预测问题,可以使用深度学习模型如双向长短期记忆…

嵌入式硬件中常见的面试问题与实现

1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…

HarmonyOS 应用开发之FA模型与Stage模型应用组件

应用配置文件概述(FA模型) 每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向编译工具、操作系统和应用市场提供描述应用的基本信息。 应用配置文件需申明以下内容: 应用的软件Bundle名称,应用的开发…

OpenHarmony实战:烧录Hi3516DV300开发板

前言 烧录开发板是每个开发者的必修课,每次对系统的修改务必进行烧录测试,确保修改正确和不会引入新问题。 本文基于 Windows10,以 Hi3516DV300 开发板为例,指导如何烧录 OpenHarmony 镜像,镜像也叫固件。 这块开发…

MySQL InnoDB 之 多版本并发控制(MVCC)

多版本并发控制(MVCC,Multi-Version Concurrency Control)是数据库管理系统中用于提供高并发性和在事务处理中实现隔离级别的一种技术。MVCC 允许系统在不完全锁定数据库资源的情况下,处理多个并发事务,从而提高了数据…

AcWing-木棍

167. 木棒 - AcWing题库 所需知识:dfs,剪枝 思路:首先,将木棍的长度从所有小木棍的最大值开始遍历,遇到的第一个能使所有的小木棍组合成长度相等的大木棍时,则为最优答案,如果想暴力做的话&am…

vscode初始化node项目

首先需要安装node环境,推荐直接使用nvm 安装node,方便切换node版本 1.npm init 初始化node项目 在命令行输入npm init指令 根据指令创建完成后会在当前目录下生成一个package.json文件,记住运行npm init执行的目录必须是一个空目录 2.创建…

YOLOv9改进策略 :主干优化 | ConvNeXtV2:适应自监督学习,让 CNN “再一次强大”?

💡💡💡本文改进内容:完全卷积掩码自编码器框架 ConvNeXt V2,它显著提高了纯convnet在各种识别基准上的性能,包括ImageNet分类,COCO目标检测和ADE20k分割。还提供了各种尺寸的预训练ConvNeXt v2模型,从而在ImageNet上具有76.7%精度的3.7M Atto model和88.9%精度的650…

PID算法控制5840-31ZY编码器直流减速电机旋转特定角度(一)

模块分析 在本工程中,使用stm32做主控芯片输出PWM波,TB6112做电源驱动带动5840-31ZY编码器直流减速电机旋转特定角度 有如下模块 TB6112驱动模块 TB6112是性能优于常见L298N的一款电机驱动芯片,体积更小效率更高发热少 其接线如图&#x…

手机真机连接USB调试adb不识别不显示和TCPIP连接问题

手机真机连接USB调试adb devices不显示设备和TCPIP连接 本文手机型号为NOVA 7 ,其他型号手机在开发人员模式打开等方式可能略有不同,需根据自己的手机型号修改。 文章目录 1. 打开和关闭开发者模式2. 真机USB连接调试adb不显示设备问题的若干解决方法3…

K8S中部署yaml文件(如Java项目)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

容器安全与防御(德迅蜂巢)

通过容器可以快速的运行应用、迁移应用、快速集成、快速部署、也提高了系统的资源利用率,因此现在越来越多的企业把应用上云,来达到快速上线应用、方便运维的目的。容器安全也逐渐地被重视起来,了解容器如何检测当前企业环境内容器环境是否安…

web练习仿小米页面

效果图&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document…

绿联 安装PDF工具

这是一个强大的本地托管的基于 Web 的 PDF 操作工具&#xff0c;使用 docker&#xff0c;允许您对 PDF 文件执行各种操作&#xff0c;例如拆分、合并、转换、重组、添加图像、旋转、压缩等。这个本地托管的 Web 应用程序最初是 100% ChatGPT 制作的应用程序&#xff0c;现已发展…

【ENSP】OSPF实现多区域之间的通信

多区域作用&#xff1a;减少路由条目&#xff0c;增加收敛时间 OSPF配置方法 ospf 1 router-id 1.1.1.1 #1为进程号&#xff0c;1.1.1.1唯一标识路由器are 0.0.0.0 #配置区域network 192.168.1.0 0.0.0.25…

专升本-云计算

被誉为第三次信息技术革命 什么是云计算&#xff1f; 云计算是一种商业的计算模式&#xff0c;它将任务分布在大量计算机构成的资源池上&#xff0c;用户可以按需通过网络存储空间&#xff0c;计算能力和信息等服务 云计算的产生和发展&#xff1a; 起源&#xff1a;上世纪6…

牛客NC153 信封嵌套问题【中等 动态规划,最长递增子序列 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/9bf77b5b018d4d24951c9a7edb40408f 相同的题目&#xff1a; https://www.lintcode.com/problem/602 思路 本质是求最长子序列问题envelopes 先按 w 升序排序&#xff0c;再按 h 降序 排序&#xff0c;只需考虑h…

IPv6-地址解析、NUD、DAD、NDP

IPv6-地址解析、NUD&#xff08;邻居不可达检测&#xff09;、DAD&#xff08;重复地址检测&#xff09;&#xff1a; ICMPv6的消息类型&#xff1a; ICMPv6消息回显&#xff0c;type在0~127之间的表示为差错消息&#xff1b;type值在128、129表示信息消息。 1、IPv6地址协议…

HCIP【GRE VPN、MGRE VPN与PPP验证综合实验】

目录 实验要求&#xff1a; 实验拓扑图&#xff1a; 实验思路&#xff1a; 实验步骤&#xff1a; 一、配IP地址 &#xff08;1&#xff09;配置所有设备接口的IP地址&#xff1a; &#xff08;2&#xff09;配置私网与公网接口的缺省路由使得公网可通&#xff1a; 二、P…