Linux:基础开发工具之yum,vim,gcc的使用

简介: Linux:基础开发工具之yum,vim,gcc的使用

本篇主要总结的是Linux下开发工具

  1. yum
  2. vim
  3. gcc/g++

yum

什么是yum?

不管是在手机移动端还是pc端,不管是什么操作系统,当用户想要下载一些内容或者工具的时候,都需要到一个特定的位置进行下载,例如在手机上,要下载一些应用的时候就可以去对应的应用商店下载

而在Linux系统中也有这样的概念,在Linux系统下也有需要下载的需求,那通常来说下载的方式主要有下面的几种:

  1. 下载一个程序的源代码,进行编译后得到可执行程序进行使用
  2. rpm包进行安装,安装实际上就是把可执行程序拷贝到指定的路径下
  3. 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语言程序编译为可执行文件,运行这个可执行文件就可以输出对应的内容,那么在进行编译的这个过程会发生什么?

将程序翻译的过程,大致上是可以分为下面的几个部分:预处理,编译,汇编,链接

  1. 预处理:主要包括,头文件展开,去注释,条件编译,宏替换
  2. 编译:主要是将c语言程序转换为汇编语言
  3. 汇编:主要是将汇编文件转换为可重定位的二进制文件
  4. 链接:形成可执行文件

gcc是一个编译器,如果不带任何选项,默认直接将程序编译为可执行文件,如果带上一些选项可以编译为这当中的一些部分,用下面的例子来举例:

vim编辑器下完成了下面的代码,其中包含了宏,用带选项的gcc进行编译如下:

使用带-E的选项进行编译,可以形成一个经过预处理后的文件,这个文件依旧是c语言文件,只是进行了一些初步的替换和头文件展开等操作

此时就形成了test.s,这个文件是进行的编译的工作,编译工作做完就停止了

此时就形成了汇编文件,文件内的内容是汇编指令

下一步是形成二进制文件:

就将汇编指令转换为了人看不懂的二进制文件

最后一步就是形成可执行文件:

这样就形成了可执行程序:

gccg++的用法是一样的

相关文章
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
623 0
|
Linux C语言
成功解决 在Linux CentOS 7 中安装gcc
这篇文章介绍了如何在Linux CentOS 7系统中安装gcc (g++) 8工具集。由于CentOS 7默认的gcc版本是4.8,而这个版本与Qt 5.14、Qt 5.15或更高版本不兼容,可能会导致编译时出现系统头文件错误。文章中提到,即使在项目配置中添加了`CONFIG+=c++11`,如果仍然报错,那么很可能是gcc版本的问题。为了解决这个问题,文章提供了使用CentOS的Software Collections (scl)来安装更新版本的gcc的步骤。
成功解决 在Linux CentOS 7 中安装gcc
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
582 2
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
Linux 编译器 C语言
Linux内核对GCC版本的检测
Linux内核对GCC版本的检测
|
Java Linux 编译器
【Linux】gcc简介+编译过程
【Linux】gcc简介+编译过程
462 0
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
474 8
|
搜索推荐 Linux 开发工具
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
701 3
Linux下vim的配置