Linux工具(上)

yum软件包管理器

什么是软件包

谈到软件包管理器,首先先了解一下什么是软件包

yum具体操作

linux上有很多软件包管理器,这里我们学习其中一种 yum.

yum配置了很多yum源,用yum下载时yum会通过yum源找到要下载的东西的链接

使用yum,最主要的就是yum三板斧

1.yum list 查看

2.yum install -y 下载安装

3.yum remove -y 删除

注意:关于yum/apt的所有操作必须保证主机(虚拟机)⽹络畅通!!!

编辑器Vim

vim的基本概念

注意vim是文本编辑器(无法编译运行代码)

我们先主要学习vim的三种模式(其实有好多模式,⽬前掌握这3种即可),分别是命令模(command mode)、插⼊模式(Insertmode)和底⾏模式(lastlinemode),各模式的功能区分如下:

这三种模式的转换见下图(在vim中如果不知道自己在什么模式下可以无脑Esc一下,这样就可以回到命令模式).

vim的基本操作

先简单了解一下如何进入,退出vim.以免进入之后束手无策.

vim正常模式命令集

正常模式下(核心模式/命令模式)

1.进入插入模式(一般掌握一种即可)和回到正常模式
2.在正常模式下移动光标

补充和细化: n+(shift+g) 或n+gg定位到文本第n行

(shift+4=$ 行尾,shift+6=^ 行首)

w 单词为单位向后跳转 (单词不是传统英语上意义的单词,通常是以' '分割为单词)

b 单词为单位向前

3,删除⽂字

通常用x和X

x 光标所在位向后删除(前可加n)会删除光标所在字符(n和下面#表达相同意思,表示数字)

shift+x 光标所在位向前删除(前可加n)不会删除光标所在字符

4.复制

光标所在行进行复制,一般使用yy 和#yy

补充: 粘贴p(前可加数字 : 是把剪切和复制的所有东西粘贴数字遍

剪切dd(前可加数字 : 剪切光标所在⾏到缓冲区

前加数字表示剪切从光标所在的该⾏"往下数"数字⾏⽂字

5.替换

这里用R是进入了替换模式下,按Esc后退出

n+r+字符 光标向后n个字符全部替换为输入字符

补充:shift+~ 大小写快速切换

6.撤销上⼀次操作

取消后撤ctrl+r

7.更改

8.批量注释

先ctrl+v进入到视图模式 ,通过hjkl键(这里用上下左右可能出现问题)来进行上下左右选择(进入视图模式后就开始选择了,要在正常模式下定好开始行再进入)然后按shift+i直接进入插入模式进行插入,在每行的前面插入//进行注释,注释结束后按两次Esc退出后就完成了注释

vim末⾏模式命令集

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

经过上面的学习,现在我们对vim下的模式认识扩充到下图:

编译器gcc/g++

提到编译器就离不开代码的编译过程,通常源代码经过预处理->编译->汇编->链接变为可执行程序.下图是比较详细的介绍

gcc编译选项

格式 : gcc [ 选项 ] 要编译的⽂件 [ 选项 ] [ ⽬标⽂件 ]

预处理
编译(⽣成汇编)
汇编(生成机器可识别代码(二进制))
连接(⽣成可执⾏⽂件或库⽂件)

注:上面在要编译文件后面的选项**-o** 作用是使编译结果存进你想要的目标文件中.

简单记忆:选项为ESc(要注意ES大写c小写) 生成的文件为iso

gcc其他常⽤选项-了解即可

这里主要要记一下-static选项(如果不代则默认为动态链接)

动态链接和静态链接

这部分我仅仅接触了一些皮毛,主要就了解了动态链接和静态链接的相对优缺点,如下

静态链接:消耗空间大,浪费空间,更新困难,但是不依赖动态库,动态库出现问题程序也可以运行

动态链接:消耗空间小,但是依赖动态库,动态库出现问题所有程序都无法运行

注:想要动态链接一定要有动态库,想要静态链接也一定要有静态库.

相关推荐
daad7772 小时前
bitcoin HD钱包示例 真实使命7
运维·服务器
BestOrNothing_20152 小时前
Ubuntu 22.04 下调整 VS Code 界面及字体教程
linux·vscode·ubuntu22.04·界面调整
Zero-Talent2 小时前
TCP/IP协议
运维·服务器·网络
桌面运维家2 小时前
Windows/Linux云桌面:高校VDisk方案部署指南
linux·运维·windows
Du_chong_huan2 小时前
1.7 计算机网络和因特网的历史 | 《计算机网络:自顶向下方法》精读版
运维·服务器·网络
ZZZKKKRTSAE2 小时前
rhel9快速上手Docker
运维·docker·容器
筱顾大牛3 小时前
Docker安装教程(加汉化!超详细!!!)
运维·docker·容器
没头脑的男大3 小时前
关于tailscale和ssh那些事儿
运维·服务器·ssh
mzhan0173 小时前
Linux:intel:Cache Allocation tech
linux·cpu