Linux环境下常见基础开发工具初阶指南

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


Linux软件包管理器yum

什么是软件包

通俗来说,由于一般在Linux下安装软件需要获取源代码在编译显得过于繁琐。于是可以选择一个类似应用商店的存在来负责安装软件,那就是yum

查看网络状态

ping www.baidu.com

查看软件列表

yum list | grep [软件名]

安装指令

sudo yum install [软件名]

卸载指令

sudo yum remove [软件名]


Linux编辑器vim

vim使用前情提要
我们都知道Linux作为一个基于指令操作的操作系统,没有一般编辑器的界面设计。所以对于不同的功能都有不同模式:命令模式、插入模式、底行模式。具体实现如下:

命令模式: 顾名思义此模式下从键盘输入的字符会变为指令去执行输入的指令的操作。一般用vim [文件] 进入编辑器时默认进入命令模式。在其他模式下点击Esc也会进入命令模式。

插入模式: 是用户进行代码书写的模式。在命令模式下输入a/i/o都能进入插入模式。

末行模式: 一般用于推出编辑器。在命令模式下输入: 进入末行模式。
vim的基本操作

进入编辑器vim

vim test.c
进入后当前默认命令模式

[命令模式]切换至[插入模式]

输入a/i/o

[命令模式]切换至[底行模式]

输入 :

[插入模式]与[底行模式]的切换

这两个模式想要相互切换都需要先Esc退回至命令模式,再从命令模式切换

退出vim

想要退出vim,需要先进入底行模式。
输入q(只退出,不保存)
输入wq(保存并退出)
输入wq!(强制保存并退出)


命令模式下的命令集

进入插入模式
命令模式中输入a\i\o虽然都能进入插入模式,却有微小差别.要注意,命令也是分大小写的

输入i,光标位置不变,在光标处进行插入
输入a,光标向后移动一格
输入o,光标转向当前所在行的下一行

光标移动

[k] [j] [h] [l] 光标依次向上、下、左、右移动一格
[G] 光标移动至文章最后一格

[^] 光标移动至所在行“行首”
[$] 光标移动至所在行“行尾”

[w] 光标移动至下个字母串的开头
[e] 光标移动至下个字母串的结尾
[b] 光标移动至上个字母串的开头

[nl] 光标移动至该行第n个位置

[gg] 光标移动至文本开头
[shift+g] 光标移动至文本末尾

[ctrl+f] 屏幕整体向上移动一页
[ctrl+b] 屏幕整体向下移动一页
[ctrl+d] 屏幕整体向上移动半页
[ctrl+u] 屏幕整体向下移动半页

删除

[x] 删除光标当前所在位置的字符
[nx] 删除光标所在位置向后的n个字符(包括光标所在行字符)
[X] 删除光标所在位置前一个字符
[nX] 删除光标所在位置向前的n个字符
[dd] 删除光标所在当前行
[ndd] 从光标所在行向后删除n行

复制

[yw] 复制光标至光标所在行尾字符至缓冲区
[#yw] 复制#个字符至缓冲区
[yy] 复制光标所在行至缓冲区
[#yy] 从当前行向下复制n行至缓存区
[p] 粘贴

替换

**[r+[字符]]**替换光标所在字符为新输入字符
[R] 从光标所在处每输入一个字符,替换当前光标所在字符,光标向后移动一格,替换至输入Esc 为止

撤销操作

[u] 当命令使用不当造成操作失误时,在命令模式下输入u,撤销一次操作
[ctrl+u] 恢复撤销操作之前的状态

更改

[cw] 更改光标所在字符至字尾
[c#w] 更改光标向后#个字符

跳转至指定行

[ctrl+g] 列出光标所在行行号
[#G] 光标跳转至#行行首位置


vim底行模式命令集

列出行号

[set nu]/[set number] 列出文件中每一行行号

跳转到某一行

[#+数字] 跳转至指定的某一行

查找字符

[/+关键字]/[?+关键字] 搜索关键字,按n切换到的关键字的其他位置

保存文件

[w] 保存文件
[w!] 强制保存文件

离开vim

[q] 退出文件
[q!] 强制退出文件
[wq] 保存并且退出文件


vim的简单配置

由于第一次使用vim除了三种模式外,几乎和记事本没有区别,不便于代码书写,所以需要靠自己去搜索vim的配置教程,这里就不多赘述了。


Linux编辑器-gcc/g++使用

前情提要
我们都知道在常规编译软件如vs中编译一个程序不仅需要编写代码,还要通过run 使之运行起来,在Linux中gcc/g++的作用就类似于它

gcc使用

gcc [选项] 需编译文件 [选项] [目标文件]

预处理

gcc -E test.c -o test.i
功能:宏定义,文件包含,条件编译,去注释等

编译(生成汇编)

gcc -S test.i -o test.s
功能:检查代码错误、将代码转换成汇编语言

汇编(生成二进制文件)

gcc -c test.s -o test.o
功能:将汇编代码转换成二进制

连接(生成可执行文件)

gcc test.o -o test
功能:生成可执行文件并放到当前目录下

动态库与静态库的简单区分
静态库:把库文件的代码全部加入到可执行文件,生成文件较大
动态库:编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,生成文件较小

gcc选项

-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件
-static 此选项对生成的文件采用静态链接
-g 生成调试信息。GNU 调试器可利用该信息。
-shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
-O0
-O1
-O2
-O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-w 不生成任何警告信息。
-Wall 生成所有警告信息。


Linux调试器-gbd使用

前情提要
vim虽然作为Linux中的编译器,却不能提供调试功能。在windows中的vs中所存在的诸多功能,在Linux中都是分开存在的,如vs的调试功能在Linux中则是gbd

gbd的使用
使用

gbd test

退出

ctrl+d / quit

list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。
list/l 函数名:列出某个函数的源代码。
r或run:运行程序。
n 或 next:单条执行。
s或step:进入函数调用
break(b) 行号:在某一行设置断点
break 函数名:在某个函数开头设置断点
info break :查看断点信息。
finish:执行到当前函数返回,然后挺下来等待命令
print§:打印表达式的值,通过表达式可以修改变量的值或者调用函数
p 变量:打印变量值。
set var:修改变量的值
continue(或c):从当前位置开始连续而非单步执行程序
run(或r):从开始连续而非单步执行程序
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点
disable breakpoints:禁用断点
enable breakpoints:启用断点
info(或i) breakpoints:参看当前设置了哪些断点
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay:取消对先前设置的那些变量的跟踪
until X行号:跳至X行
breaktrace(或bt):查看各级函数调用及参数
info(i) locals:查看当前栈帧局部变量的值
quit:退出gdb


Linux项目自动化构建工具-makefile/Makefile

功能:自动化编译,在写完一个完整的makefile后,只需要一个make指令,就能完成编译

test.c

#include<stdio.h>

int main()
{
	printf("halo shijie");
	return 0;
}

makefile

test:test.c
	gcc test.c -o test
.PHONY:clean
clean:rm -f test

依赖关系
test依赖test.c

依赖方法
gcc test.c -o test

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值