文章目录
- yum
- vim
- gcc
本篇主要总结的是Linux下开发工具
- yum
- vim
- gcc/g++
yum
什么是yum?
不管是在手机移动端还是pc
端,不管是什么操作系统,当用户想要下载一些内容或者工具的时候,都需要到一个特定的位置进行下载,例如在手机上,要下载一些应用的时候就可以去对应的应用商店下载
而在Linux系统中也有这样的概念,在Linux
系统下也有需要下载的需求,那通常来说下载的方式主要有下面的几种:
- 下载一个程序的源代码,进行编译后得到可执行程序进行使用
- rpm包进行安装,安装实际上就是把可执行程序拷贝到指定的路径下
- yum一键式安装
通常来说,如果采用前两种方法进行的安装是很繁琐的,因此Linux
中有这样一种比较方便的安装工具就是yum
,如果类比到移动端,yum
扮演的角色就是应用商店
yum是如何工作的?
在看这个问题前,首先要类比应用商店:应用商店中的app
在没有被我安装到手机上的时候,这些app
在哪里?答案是在服务器端
各个公司完成的软件,经过应用商店的审核后,把这些内容放到服务器端上,当用户需要某个软件的时候,就通过这个服务器端,就可以找到对应的软件安装包进行安装,这当中服务器端起到了一个审核的作用,以保证用户下载到的都是绿色健康的软件,可以用下图来表示这个过程:
而Linux
中的下载和上面的模式是一样的,yum
的相关文件中,有一些文件保存的就是要去哪里下载文件
yum的使用方法
知晓了yum
的原理,yum
的使用就如同手机上的应用商店的相关内容一样,大概包括查找,安装和卸载:
查找内容:
yum list | grep 'xxx'
安装内容:
yum install xxxx
yum install -y xxxx # 可以加入-y后缀直接安装
卸载内容
yum remove xxxx
yum remove -y xxxx # 可以加入-y后缀直接卸载
和应用商店也有所不同,yum
除了可以下载官方提供的下载源外,还可以有一些扩展软件源,例如epel
等:
yum源更新
yum clean all
yum makecache
vim
vim
简单来说,就是一个多模式的编辑器,核心工作就是对文本进行增删查改
使用方法:
vim test.c # 使用vim打开一个文件进行文本编辑
就可以打开test.c这个文件进行文件内容的编辑
vim的一些基本指令
// 显示行号
set nu
// 保存
:+w
// 退出
:+q
定位功能的指令
以下指令均为在命令模式下可以进行:
gg # 定位到第一行
n+G # 定位到代码的任意一行|最后一行
^ # 特定一行的开始
$ # 特定一行的结尾
h # 文本向左移动
j # 文本向下移动
k # 文本向上移动
l # 文本向右移动
w # 以单词为单位向后移动
b # 以单词为单位向前移动
n+yy # 复制当前行
n+dd # 剪切第n行内容
n+p # 粘贴
u # 撤销
Ctrl+r# 向后撤销
~ # 文本大小写相互转换
n+r # 替换光标所在字符|n个字符
n+x # 向后删除一个字符|n个字符
n+X # 向前删除一个字符|n个字符
# # 查找同名单次
下面引入第四种模式—视图模式
进入视图模式:Ctrl+v
回到命令模式:Esc
vim模式下的注释
# 批量化注释
Ctrl+v+j/k进行选区+shift+i+esc
# 批量化删除注释
Ctrl+v+hjkl选中区域+d
vim的基本配置方法
- 基础配置—初步理解vim配置的原理
vim在启动的时候,会自动扫描当前用户下的家目录下的.vimrc
,让内部的.vimrc
内部的选项生效 - vim配置的核心,实际上就是在这个
.vimrc
中添加更多的配置选项即可
vim的自动化部署问题
提权问题:如何把用户从普通用户提权提到root
权限?
当我们作为普通用户要提权,使用root
权限的时候,会被受阻,提示我们没有合适的权限,上面就是提示的样例,这是因为此时我们的test用户并没有成为root
的受信任列表内,那么就需要把test
这个用户加入到受信任列表内,这样就可以使用root
用户的权限,而不是一次次的切换用户
解决方法:
首先切换到root
用户下,访问etc路径下的``````sudoers```
接着打开这个文件,在受信任名单内添加我们需要的用户
这样就完成了受信任名单的添加,此时就可以直接使用sudo
进行提权了:
gcc
gcc
是一款编译器,可以将一份c语言程序编译为可执行文件,运行这个可执行文件就可以输出对应的内容,那么在进行编译的这个过程会发生什么?
将程序翻译的过程,大致上是可以分为下面的几个部分:预处理,编译,汇编,链接
- 预处理:主要包括,头文件展开,去注释,条件编译,宏替换
- 编译:主要是将c语言程序转换为汇编语言
- 汇编:主要是将汇编文件转换为可重定位的二进制文件
- 链接:形成可执行文件
gcc
是一个编译器,如果不带任何选项,默认直接将程序编译为可执行文件,如果带上一些选项可以编译为这当中的一些部分,用下面的例子来举例:
在vim
编辑器下完成了下面的代码,其中包含了宏,用带选项的gcc
进行编译如下:
使用带-E
的选项进行编译,可以形成一个经过预处理后的文件,这个文件依旧是c语言文件,只是进行了一些初步的替换和头文件展开等操作
此时就形成了test.s
,这个文件是进行的编译的工作,编译工作做完就停止了
此时就形成了汇编文件,文件内的内容是汇编指令
下一步是形成二进制文件:
就将汇编指令转换为了人看不懂的二进制文件
最后一步就是形成可执行文件:
这样就形成了可执行程序:
gcc
和g++
的用法是一样的