Linux 常用开发工具(上)(yum、vim)知识点+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

news2024/11/27 16:53:23

绪论

耐心是一切聪明才智的基础。—— 柏拉图。本章进入到Linux下的一些常用的工具,这些工具能帮助我们去更好的使用Linux操作系统。

话不多说安全带系好,发车啦(建议电脑观看)


附:红色,部分为重点部分;蓝颜色为需要记忆的部分(不是死记硬背哈,多敲);黑色加粗或者其余颜色为次重点;黑色为描述需要


思维导图:

 要XMind思维导图原件的话可以私信哈


目录

1.yum

2.vim编辑器


1.yum

知识点:

在Linux下的一些安装软件的方法:

  1. 源代码安装:直接进行编译代码, 得到可执行程序(主要在Linux下会使用,但是是比较麻烦的一种安装方法因为容易出现代码错误,不推荐使用
  2. rpm安装:常用的软件提前编译好, 做成软件包放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.(同样也不推荐,安装的过程会依赖于其他软件,就导致安装前就需要去安装其他的软件,类似于Linux下的安装包需要自己去找安装包并且判断其版本是否符合需求))
  3. yum(Yellow dog Updater, Modified)安装是Linux下非常常用的一种包管理器。 主要应用在Fedora, RedHat,Centos等发行版上(比较推荐使用,他会解决对于安装包的寻找、安装包的版本、安装包的依赖问题,总体来说就像一个傻瓜式的简易安装方法)

yum安装软件(甚至可以说是所有软件安装的过程)的具体方法如下图: 


细节:

1.1如何用yum安装软件:

首先需要我们在有网络的情况下进行(pring + 网址查看是否联网出现像下面这种就是有网的状态)

如我们要安装rzsz(rzsz是一个用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件的工具)这个工具:

安装软件的方法:yum install 软件名

而删除的软件的方法是:yum remove 软件名

可以在其中加上一个 附加指令 -y  :加上后在安装或者卸载的时候就不会去询问到底是否要安装/卸载(rzsz的软件全名是:lrzsz.x86_64 所以安装/卸载的方法yum install -y lrzsz.x86_64、yum remove -y lrzsz.x86_64

安装完毕之后就可以通过拖拽的方式/ rz通过选择的方式 将windows文件上传到Linux,而sz是将Linux下的文件上传到Windows下


1.2yum 是从哪里去获取软件的呢?

其实是yum内置了软件的下载链接在如下文件中:

我们打开这个文件就能看到yum源

而对于在官方yum源上的都是比较官方正规的软件,对此还有一些非官方yum源的还有一些非官方的软件(又称扩展yum源,对于官方软件来说他们都是经过筛选过的正规的软件)在epel.repo中就能看到扩展yum源

安装扩展源的方法:yum install -y -epel-release,在扩展yum源中有许多好玩的小程序具体请看这篇文章:Linux----centos7版本下好玩有趣的命令(总结精华版)

因为有些yum源会在国外访问起来比较缓慢所以我们还能去改变yum源具体可以看下面这篇文章:Linux------centos7如何将国外yum源更换成国内的(减量不减质版)


1.3为什么会有人在服务器上给我们写好软件呢?

首先,使用Linux都是职业的程序员们(windows上主要以娱乐为主),所以对于Linux下的软件同样会有人去为了程序员而开发软件,而我们要使用Linux就需要有人提供操作系统。所以其次一些操作系统的设计者和推动者(centos、ubuntu),他们就会为了让更多的人使用他们的产品他们就会花大量的精力去调整改进他们的生态(云服务器、提供服务器上的软件),对此当使用的人多了其生态也会变得越来越好(他们就更不容易倒掉,因为假如要倒掉时会有人进行捐助,不希望怎么好的生态使用不了)最后附加一点,开源是一种商业战略,并且有时候开源也是挺贵的

这样就有了一个循环,人们为了使用操作系统就会去选择一款生态好的操作系统软件,然后因为有了需要就会有人去开发操作系统来维持,维持服务器以及论坛和服务器上的软件生态,这样就成了一个循环人们相互互利最终不断进步壮大。

对于yum来说因为已经有人提供好了良好的生态,已经帮我们准备好了去哪里下载、服务器、软件写好放在服务器上,最终yum就能直接在操作系统中获取所需要的软件

附:新人如何做操作系统的技术选型:

就以我们现在用centos7来说它:

  1. 来源容易获取、是一个稳定的版本
  2. 操作系统有活跃成熟的社区论坛、以及文档,能快速的解决问题并且没有太大的漏洞,即使有也能在社区内找到解决的方法
  3. 成熟丰富的软件生态,生态很好,并且大公司也在用

2.vim编辑器

知识点:

vim他是一个多模式(命令模式、插入模式、底行模式)的编辑器。并且vim是一个比较经典的编辑器当我们学过他后再学其他的编辑器时就能非常容易的上手。

vim的打开文件方法:vim 文件名

2.1vim下的三种模式及相互的切换:

刚打开vim时是直接在命令模式(默认模式)此时我们输入的所有都被当作命令(编辑命令)的形式输出,所以在此时我们输入是看不见文本的。而我们若要写代码/输出文本的话我们要先进入到插入模式键盘上直接输入 i ,输入后会在命令行的最下面出现大写英文INSERT),就能正常的去写一些你所要写的(代码/文本),当我们输出完后想要退出vim并且保存我们所写的代码时需要先退出到命令模式(按 左上角的esc),然后从命令模式下才能进入底行模式输入 :冒号( shift + ; )) 此时在命令行的下面就会出现一个冒号后我们再在此处输入wq ,就是退出vim加保存所写内容,单独的w是保存、单独的q是只是退出,同样假如我们还要回到命令模式还是esc)具体如下图:

附:


细节:

2.2命令模式:

  1. 单文件的操作:
    1. 光标定位:

      gg 定位到最开始shift + g 定位到结尾n + shift + g 定位到第n行

    2. 复制和粘贴:

      nyy复制光标所在行及以下的共n行(不输入n时默认复制一行)、np粘贴n次到光标所在的下面行(n不写时只复制一次)

    3. 剪切(删除)ndd (同样支持n行同时操作)

    4. 撤销 、对撤销后悔ctrl  + r 

    5. 锚点:

      shift + 4($)定位到当前行的结尾

      shift + 6(^)定位到当前行的开头

      w、b跨单词进行向后、向前移动

    6. h、j、k、l对应的左、下、上、右来进行移动操作(当然上下左右的方向键也是能使用的,但不推荐,当我们使用习惯后hjkl会比方向键移动的更快。在当年方向键还没有出现时是使用hjkl的

    7. 快速改变n个字符nr + 要变成的新字符

    8. shift+r :批量化替换,对内容进行整体替换(你输入后直接覆盖掉后面的,他也是第四种模式replace(按esc退回命令模式))

    9. nx:把对光标及往后的n个字符进行直接删除

  2. 多文件的操作(其实是同时打开多个窗口,在每个窗口下还是单文件的操作方法):

    1. 底行模式下,可以输入 vs + 新要创建的文件名  打开多个文件编辑窗口  

    2. ctrl ww窗口的转换光标所在的位置就所在的文件,若要退出某个窗口的方法同样也是通过底行模式退出


2.3底行模式:

w:保存、q:退出、!:可以直接在后面加上后强制执行:

即加上!就是强制保存(w!)、 退出(q!)、  wq!(强制保留并退出)

set nu : 调出行号、set nonu:除去行号

插入模式没有啥好讲的,直接在里面写代码或者文本即可。

注意上面这些指令一定要去自己尝试一下

2.4vim的配置

配置是什么?:类似于高亮、括号的匹配提示、常用代码的快速写入.....,让我们在写代码时更加的方便便捷,在默认情况下是没有什么配置的,我们可以自己去添加一些配置:

如何配置:

在所在的目录下查看有没有.vimrc文件,如果没有直接用vim打开.vimrc(没有的情况下会自动创建一个),如果有的话用vim将其打开并且直接在其里面进行添加配置即可,具体的配置可以在网上搜素(vim配置文件)后将他们的配置文件复制到.vimrc中配置即可,下面有几个常用的可以配置了看看:

set number  显示行号

set cursorline  显示所在行

syntax on  语法高亮(如括号匹配)

用法例如:

附:每个用户的每个配置间并不会相互影响,root的家目录下的配置文件在/etc/vimrc下是一个非隐藏文件,不建议给root做配置对于创建了vimrc配置文件;vimrc的配置过程他会先从root开始查看vimrc中的配置,然后逐渐到用户再到文件最终将其汇总以及重复的进行覆盖成,合并在一起来配置 Vim。


本章完。预知后事如何,暂听下回分解。

如果有任何问题欢迎讨论哈!

如果觉得这篇文章对你有所帮助的话点点赞吧!

持续更新大量Linux细致内容,早关注不迷路。

关于...重要知识点总结

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

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

相关文章

一个无标记点面捕头盔,如何实现高精度面部表情捕捉?

在影视、动画、 游戏、虚拟直播应用中 虚拟数字人 可以犹如真人般实时驱动 背后少不了面部捕捉技术 随着面部捕捉技术不断革新,从有标记点到无标记点发展,再到如今佩戴一个面捕头盔就可以轻松做到精准面捕。 广州虚拟动力多年沉淀经验,根…

eslint导致的报错解决

当你利用脚手架在创建vue项目时,无脑创建下默认一定会安装eslint代码检测工具。那么你的噩梦就来了。eslint作为代码规范检测,不得不承认它的强大,但是绝对是会逼死一众强迫症患者。 比如你只是简简单单运行一个vue项目,报错一大堆…

10 EM(期望最大)算法

文章目录 10 EM(期望最大)算法10.1 背景介绍10.2 EM算法公式10.2.1 EM算法公式收敛性证明10.2.2 EM算法公式导出 10.3 广义EM算法10.3.1 EM有什么作用?10.3.2 为什么要引入广义EM?10.3.3 广义EM公式导出10.3.4 广义EM有什么不同 1…

RS-232 RS-485 TTL电平标准 以及串口、COM口、UART口、USB转TTL、USB转串口

串口 即串行通信接口,与之相对应的另一种接口叫并口,并行接口。两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开…

2023 华为 Datacom-HCIE 真题题库 12(完结)--含解析

单项选择题 1.[试题编号:190728] (单选题)以下哪种工具不能用来匹配BGP路由条目? A、基本ACL B、高级ACL C、IP PREFIX LIST D、Community Filter 答案:B 解析:高级ACL是一种用于过滤IPv4报文的ACL&#…

记一次通过binlog日志恢复MySQL数据库的经历

通过binlog日志恢复MySQL数据库的数据 一、起因 起因是我在自己服务器上搭建的博客被黑客攻击,黑客删除了我的数据库并且要求支付比特币才给我恢复。 博客所有的表和数据都被清空,只留下了勒索金额和地址。如图 穷鬼如我当然是: 二、恢复数…

单源最短路的建图

1.热浪 信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/problem_show.php?pid1379 很裸的单源最短路问题&#xff0c;n2500,可以用dijksta或者spfa都能过&#xff0c;下面展示spfa的做法 #include<bits/stdc.h> usi…

【蓝桥杯选拔赛真题58】Scratch打气球游戏 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch打气球游戏 一、题目要求 编程实现 二、案例分析 1、角色分析

微信小程序——Git版本管理

一篇文章带你学会微信小程序中的Git版本管理 场景复现微信开发者工具中的Git连接远程仓库配置网络和认证提交工作区更改查看历史查看文件修改历史切换分支创建分支拉取、推送与抓取 微信官方开发文档&#xff1a;微信开放文档 场景复现 最近在前端的学习过程中&#xff0c;接触…

普通二本程序员想进大厂,我需要考研吗?好程序员来答!

最近好程序员看知乎有某网友提问&#xff1a; 1 普通二本&#xff0c;非科班出身&#xff0c;对Java感兴趣 2 已经开始工作半年了&#xff0c;普通技术 java 岗位 3 英语不好&#xff0c;四级没过&#xff0c;最高才 400 4 通过培训进入 java 岗位&#xff0c;基础知识不太好 5…

Python编程环境搭建:Linux(Ubuntu)系统安装Python

Linux 系统是为编程而生的&#xff0c;因此绝大多数的 Linux 发行版&#xff08;Ubuntu、CentOS 等&#xff09;都默认自带了 Python。有的 Linux 发行版甚至还会自带两个版本的 Python&#xff0c;例如最新版的 Ubuntu 会自带 Python 2.x 和 Python 3.x。 打开 Linux 发行版内…

浏览器相关开发事项

文章目录 存储浏览器持久化存储&#xff08;F12->应用->存储&#xff09;浏览器缓存&#xff08;F12->内存&#xff09;浏览器存储管理单位&#xff08;域名/IP为单位&#xff09;区别localStorage VS 浏览器缓存localStorage VS cookies 存储 浏览器持久化存储&…

Linux :: 【基础指令篇 :: (补充):(5)】:: 初步认识并解析文件详细信息内容:文件类型与用户访问权限说明、文件类型分类说明

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 经过了前面内…

如何理解数字化转型模式,适用于哪些企业?

如何理解「数字化转型」模式&#xff0c;适用于哪些企业&#xff0c;有何利弊&#xff1f; 这是一个很大的话题&#xff0c;本篇内容较长&#xff0c;全文6000字&#xff0c;心急的伙伴可先看目录&#xff0c;衷心希望以下内容能给大家带来帮助。&#xff08;如果担心一次看不…

案例分析 | 无代码助力国企数字化转型破旧立新

数字经济已成为国策&#xff0c;国企数字化转型更是排头兵&#xff0c;正成为数字化转型标杆。企业数字化转型是用信息技术全面重塑企业经营管理模式&#xff0c;是企业发展模式的变革与创新&#xff0c;是迈向数字经济时代的必然选择。 2022年9月底&#xff0c;国资委下发了重…

docker-compose启动mysql双机热备互为主从

1、环境准备 IP地址名称192.168.123.78mysql-m192.168.123.82mysql-s 2、安装mysql-m&#xff08;192.168.123.78&#xff09; 创建M主节点&#xff0c;通过下面的docker编排配置创建响应的目录和文件&#xff0c;目录下边创建 docker-compose.yml和my.cnf文件 docker-compo…

机器学习笔记 - 深度相机技术原理路线概览

一、深度相机的应用和原理 机器学习、人工智能、嵌入式视觉和处理技术的进步帮助创新者构建了能够在几乎没有人工监督的情况下导航环境的自主机器。此类设备的示例包括AMR(自主移动机器人),自动拖拉机,自动叉车等。 使这些设备真正自主需要它们能够在没有任何手动…

定时器搭配GPIO做定时扫描按键 -- STM32

STM32学习 定时器&#xff08;TIM&#xff09;定时器工作原理定时器相关参数相关函数和配置参数 通用输入/输出&#xff08;GPIO&#xff09;GPIO原理GPIO相关函数 实现定时扫描按键总结 在STM32F103系列的单片机应用中&#xff0c;定时器&#xff08;TIM&#xff09;和通用输入…

【名词解释】KiB和KB,MiB和MB,GiB和GB 等的区别以及1M带宽到底是多少?

目录 1. KiB和KB&#xff0c;MiB和MB&#xff0c;GiB和GB 2. 宽带速度 3. 单位换算 1. KiB和KB&#xff0c;MiB和MB&#xff0c;GiB和GB KiB和KB&#xff0c;MiB和MB&#xff0c;GiB和GB 等的区别: 1KB(kilobyte)10^31000byte, 1KiB(kibibyte)2^101024byte …

虹科干货 | 虹科Redis企业版数据库的延迟如此之小,proxy功不可没!

在Redis企业版集群的后台发生了许多事件&#xff0c;proxy&#xff08;代理&#xff09;隐藏了数据库客户端的所有活动。 大多数开发人员在构建应用程序时都会从小规模开始&#xff0c;使用简单的Redis开源&#xff08;Redis OSS&#xff09;数据库。在初期阶段&#xff0c;使用…