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选项(如果不代则默认为动态链接)

动态链接和静态链接

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

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

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

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

相关推荐
律宏阔4 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔4 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴4 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千5 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei375 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei375 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei375 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh5 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW5 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲5 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js