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

动态链接和静态链接

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

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

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

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

相关推荐
徐小黑ACG1 小时前
nginx配置文件
linux·服务器·nginx
新时代牛马1 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
java_logo1 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·docker·容器·rocky linux·基础镜像·轩辕镜像·rhel 兼容
拂拉氏1 小时前
【知识讲解】 Linux虚拟地址空间认识
linux·虚拟地址空间
cloudfantasy2 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
新时代牛马3 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
考虑考虑3 小时前
nginx打印请求日志
运维·后端·nginx
数字补给站5 小时前
Windows 10 + Hyper-V + Terraform + cloud-init:批量产出 3 台 Ubuntu 的实践笔记
运维·ai编程
分支预测失败5 小时前
RISC-V 核间中断 IPI 实战:从 MSIP 寄存器到 IMSIC 消息投递
linux·后端
这个DBA有点耶5 小时前
同样48核配置TPS差1倍?高性价比数据库一体机的“软硬协同”才是分水岭
服务器·数据库·架构