Linux学习之基础工具一

news2024/11/15 12:25:33

1.Linux 软件包管理器 yum

首先我们需要知道的是在Linux下,现存的软件和指令是一定的,而有的时候我们想需要更多的指令或者软件,而这在Linux本身下是没有的,故我们可以利用指令yum指令安装或卸载你想要或者不需要的软件,(ubunto底下是aot-get)不同Linux环境下的安装指令不一样,获取的服务器端也不一样。

目录

那么什么是软件包呢:

yum指令的使用:

查看软件包 yum list

 安装软件 yum install xxxx

卸载软件yum remove

2.Linux编辑器-vim使用(gcc/g++)

1. vim的基本概念

三个模式的关系图:

3. vim正常模式(命令模式)命令集

插入模式

从插入模式切换为命令模式:

移动光标

删除文字

复制

替换

撤销上一次操作

更改

跳至指定的行

4. vim末行模式命令集

列出行号

跳到文件中的某一行

查找字符

保存文件

编写多个文件

离开vim

5. vim简单配置

配置文件的位置

常用配置选项,用来测试:


那么什么是软件包呢:

         在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
       yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器.要应用在Fedora,RedHat, Centos等发行版上.
      我们可以将它理解为一个客户端软件的应用商店,在yum里面保存了文件的下载地址,其次应用商店的应用并不是在应用商店中存放,而是在远端的服务器端中存放,我们利用yum下载,就是通过应用商店到服务器下载到的 , 对于下载的软件也是到不同的服务器去下载,不同的社区都拥有自己的服务器,他们都需要去维护自己的yum源,一款操作系统的好坏并不是看他本身(对于Linux下的本质都差不多,只不过shell外壳不一样),关键的是你这款操作系统社区活不活跃,文档齐不齐全,社区里问题的修复与暴露...,这都是参考的指标。

yum指令的使用:

一般情况下,在使用yum获取安装包时,需要我们在网络畅通的情况下才能进行。

查看软件包 yum list

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

对于查看的安装包:

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

 安装软件 yum install xxxx

安装软件需要root权限,或者加入白名单sudo去执行。

sudo yum install lrzsz//安装lrzsz安装包
yum 会自动找到都有哪些软件包需要下载 , 这时候敲 "y" 确认安装 .
出现 "complete" 字样 , 说明安装完成 .
注意事项 :
安装软件时由于需要向系统目录中写入内容 , 一般需要 sudo 或者切到 root 账户下才能完成 .
yum 安装软件只能一个装完了再装另一个 . 正在 yum 安装一个软件的过程中 , 如果再尝试用 yum 安装另外
一个软件 , yum 会报错 .
如果 yum 报错 , 请自行百度 .

卸载软件yum remove

也是利用yum指令即可:
sudo yum remove lrzsz


其次软件等各种开源项目和服务器是很多的,他们有个社区的人或公司提供方,是已经很成熟的。

我们可以查看自己系统下的yum源,重要的就是base基础源和epel扩展源,我们就可以将下载安装包拷贝到我们的yum源里。

2.Linux编辑器-vim使用(gcc/g++)

     对于vim就是一种文本编辑器,我们可以进行代码的编写或者文本的编写。 vi/vim的区别简单点来说,它们 都是多模式编辑器 ,不同的是 vim vi 的升级版本,它不仅兼容 vi 的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window mac os 、 windows。现在我们一般就用vim。
我们之前用的vs2022,它是一种集多种语言,编译,调试,运行等功能于一身的集成开发环境(IDE),而对于我们的vim它就是编写代码的用的,编译时再用gcc/g++编译,调试用gdb等。
但实际上明白学会了vim的使用,其他的编辑器的使用会更加得心应手。

1. vim的基本概念

vim有很多模式,目前掌握vim的这三种模式即可:分别是命令模式( command mode )、插入模式(Insert mode )和底行模式( last line mode )。
各模式的功能区分如下:
这里以编写c语言为例:
在刚进入编译环境中,默认情况下是不能直接输入的,只有当转换模式后才可以进行编写。
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode
当我们输入非特殊指令时:
是无法可以正常进行编写的。
插入模式(Insert mode)
只有在 Insert mode 下,才可以做文字输入,按「 ESC 」键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。
不同的模式之间有些可以相互转换,
从命令模式到插入模式常见的有三种方法:
1.按下键盘中的i,进入插入模式
2.按下键盘的a,光标后移一位,也可以进入插入模式。
3.按下键盘的o,光标到下一行,也可以进入插入模式。
此时我们也会发现底下会出现insert表示插入模式
末行模式(last line mode )
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模 式。
 首先退出insert模式时,按下esc返回命令模式,之后按下shift+:,之后:
输入q:直接退出
输入q!:强制退出
输入wq:保存并退出
输入wq!:保存并强制退出
其次也可以进行一些其他的查看指令,如 要查看你的所有模式:打开vim,底行模式直接输入 :help vim-modes

显示行号

.........

三个模式的关系图:

实在不知道进入那个模式时,我们可以无脑ESC返回到命令模式。

3. vim正常模式(命令模式)命令集

插入模式

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

从插入模式切换为命令模式:

按「 ESC 」键

移动光标

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

删除文字

「x」:每按一次,删除光标所在位置的一个字符
#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
X 」:大写的 X ,每按一次,删除光标所在位置的 前面 一个字符
#X 」:例如,「 20X 」表示删除光标所在位置的 前面 ”20 个字符
「dd」:删除光标所在行
#dd 」:从光标所在行开始删除 #

复制

yw 」:将光标所在之处到字尾的字符复制到缓冲区中。
#yw 」:复制 # 个字到缓冲区
yy」:复制光标所在行到缓冲区。
#yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 往下数 ”6 行文字。
p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。
注意这里面的指令其实也是可以相互配合使用的,比如我想要复制到哪一行,yy选中复制的一行,只够在 n+(shift+g),就是复制到g行的下一行等。

替换

r 」:替换光标所在处的字符。
R 」:替换光标所到之处的字符,直到按下「 ESC 」键为止。

撤销上一次操作

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

更改

   shif+~:长按更改本行字母的大小写。

cw 」:更改光标所在处的字到字尾处
c#w 」:例如,「 c3w 」表示更改 3 个字

跳至指定的行

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

4. vim末行模式命令集

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

列出行号

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

跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15, 再回车,就会跳到文章的第15行。

查找字符

/ 关键字」 : 先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 【n」会往后寻找到您要的关键字为止。
? 关键字」:先按「 ? 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n 」会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下

保存文件

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

编写多个文件

换到底行模式 vs+编写的其他文件,ctrl +ww切换文件,可以利用指令对两个文件同时操作。

离开vim

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

5. vim简单配置

在我们基本了解了对vim的操作后,发现如果还是编写代码的话,那么如同记事本上写代码一样,非常难受,因此我们可以通过配置vim使得编写代码更加舒适。

配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项,用来测试:

我们可以去网上搜索相关的vim配置语句,但这种方法还是不建议。

设置语法高亮: syntax on
显示行号: set nu
设置缩进的空格数为4: set shiftwidth=4
使用插件

 要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户。可取gitee上搜索源码。

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

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

相关文章

【Java基础篇 | 面向对象】—— 封装详解

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区讨论💌 目录 一、封装1.1什么是封装…

无涯教程-JavaScript - IMCONJUGATE函数

描述 IMCONJUGATE函数以x yi或x yj文本格式返回复数的复共轭。 语法 IMCONJUGATE (inumber)争论 Argument描述Required/OptionalInumberA complex number for which you want the conjugate.Required Notes 使用COMPLEX将实系数和虚系数转换为复数。 复数的共轭是- $$…

数字自我主权的起点,DID 如何为下一代网络居民提供身份入口?

随着 Web3 浪潮逐渐影响社交、文化、娱乐行业,现存的数字身份模式已无法满足未来的网络世界,DID(去中心化身份)以超越 Web2 身份验证体系的高度去中心化、开放自由度等属性引来了行业人士的关注与讨论。然而,在 DID 领…

成都睿趣科技:抖音开店初期要注意什么

随着社交媒体和短视频平台的崛起,抖音已经成为了一个风靡全球的短视频应用,拥有着庞大的用户群体。因此,越来越多的创业者开始在抖音上开设自己的线上店铺,希望借助这个平台赚取丰厚的利润。然而,在抖音开店初期&#…

ARMv8 TTBRx寄存器

ARMv8 TTBRx寄存器 1 TTBR0_ELx and TTBR1_ELx2 TTBR0_ELx2.1 TTBR0_EL12.2 TTBR0_EL22.3 TTBR0_EL33 TTBR13.1 TTBR1_EL13.2 TTBR1_EL2 4 访问TTBRx寄存器4.1 TTBR0_ELx4.2 TTBR1_ELx 5 TTBRx保留的是物理地址还是虚拟地址5.1 保存的是物理地址还是虚拟地址5.2 为什么是物理地…

Redisson分布式锁实战

实战来源 此问题基于电商 这周遇见这么一个问题,简略的说一下 由MQ发布了两个消息,一个是订单新增,一个是订单状态变更 由于直接付款之后,这两个消息的发布时间不分先后,可能会造成两种情况,1、订单状态变更…

N5235B是德科技网络分析仪50GHz

181/2461/8938对无源元器件和简单的有源器件执行基本分析 适用于对成本非常敏感的应用,可以在高达 50 GHz 的频率范围内精确测量 S 参数 具有出色的性价比,可用于微波器件制造测试 可以配置经济型解决方案,用于信号完整性测量和材料表征 …

【python自动化】七月PytestAutoApi开源框架学习笔记(一)

前言 本篇内容为学习七月大佬开源框架PytestAutoApi记录的相关知识点,供大家学习探讨 项目地址:https://gitee.com/yu_xiao_qi/pytest-auto-api2 阅读本文前,请先对该框架有一个整体学习,请认真阅读作者的README.md文件。 本文…

ChatGPT AIGC 完成Excel条件求和函数

有一个明细表如下: 现在要根据日期来对销量进行求和。数据量大约200多条。 要写出Excel函数公式可以交给ChatGPT来操作。 公式直接就生成好了, 公众号:BI智能数据分析 =SUMIF($D$2:$D$100,G2,$E$2:$E$100) 然后我们将公式复制到表格中来进行验证。 因为ChatGPT在生成公式…

mac版微信小程序反编译学习

更新时间:2023年07月20日16:57:52 mac版本的微信小程序是没有做加密的,可以直接反编译 反编译的工具是适用于mac和Windows的,其实Windows还有其他更好用的工具。 本文是针对mac下使用微信的小程序进行解密,版本为3.8.1。 小程…

降低银行客户获取成本 (CAC) 的 3 种方法

银行的运营环境以及客户与银行服务互动的方式经历了深刻而彻底的变化。因此,银行业用于获取客户的方法必须经历平行演变。 传统上,客户根据利率和提供的服务范围来决定银行。然而,今天的客户期望更多。他们不仅需要有竞争力的价格和多样化的…

燃料电池FCU开发技术方案

燃料电池FCU电控开发介绍 FCU作为新能源汽车核心部件,对于氢燃料电池,追求的指标有:能量密度、额定功率、最大峰值功率(保持有限时间)、最小稳定功率(小于该功率,功率输出波动大,长…

九号滑板车F2 Pro采用全新折叠设计,为用户带来便捷使用体验

拥挤的城市中,滑板车可以作为一种快速、便捷的交通工具,帮助你避开交通堵塞。而且滑板车轻便,容易携带,你可以将它放在车上、公共汽车上、火车上,甚至在办公室或学校里使用。今天就带大家了解一款适合城市通勤骑行的车…

Docker从认识到实践再到底层原理(四-2)|Docker镜像仓库实战案例

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

Competitive Collaboration 论文阅读

论文信息 题目:Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation 作者:Anurag Ranjan, Varun Jampani, Lukas Balles 来源:CVPR 时间&#x…

考研资料共享系统的设计说明

考研资料共享系统的设计说明 设计意义及目的模块划分技术难点写项目中遇到的问题该项目的后端模块介绍该项目的前端模块介绍运行演示Gitee链接 设计意义及目的 为了方便找资料,了解考研形式;另一方面是锻炼编写系统的能力 模块划分 主要划分为&#xff1…

Oracle VM VirtualBox 安装 Ubuntu Linux

Virtual Box VirtualBox是一个强大的、面向个人用户或者企业用户的虚拟机产品,其支持x86以及AMD64/Intel64的计算架构,功能特性丰富、性能强劲,支持GPL开源协议,其官方网址是www.virtualbox.org,由Oracle开源&#xf…

冠达管理:哪些股票属于大权重?

跟着我国资本商场的开展,股票出资已经成为众多出资者出资的重要选择。在股票商场中,不同的股票权重不一,那么什么是大权重股票?哪些股票归于大权重呢?本文将从多个角度分析,带您了解大权重股票。 一、什么是大权重股…

华为云云耀云服务器L实例评测|部署spring项目端口开放问题的解决 服务器项目环境搭建MySQL,Redis,Minio...指南

目录 引出书接上回,部署spring项目,端口访问失败最后排查结果反馈 尝试的几种解决方案【未成功】1.指定tomcat启动ipv4端口2.添加开放端口规则保存规则防火墙相关命令记录 最终成功解决【成功!】用firewall成功了问题来了,如果这里…

HTTP代理只能代理HTTP协议吗?

HTTP代理是一种代理服务器,它可以充当客户端和服务器之间的中介,以帮助客户端访问服务器上的资源。但是,HTTP代理并不仅仅只能代理HTTP协议。 HTTP代理可以代理的协议 除了HTTP协议之外,HTTP代理还可以代理其他协议,例…