Linux入门级教学-常见工具介绍及其使用

如果我们要在Linux环境下进行程序的开发,这几个工具你不得不知道:

yum / vim / gcc,g++ / gdb / make, Makefile / git

本文将会逐一介绍这些常用的工具

yum

在日常生活中,我们可以用应用市场安装APP在手机里,Mac电脑也有App Store,那在Linux的Centos环境下,我们是如何进行软件安装的呢,答案就是我们的yum (Linux软件包管理器) 

接下来介绍如何使用它

假如我们要安装软件sl

yum search sl(搜索sl)     && yum list |grep sl (搜索sl)这两种方式都即可

yum install sl.x86_64 (下载 sl)

yum remove sl.x86_64 (卸载 有提示) && yum -y remove sl.x86_64 (卸载 无提示)

会了这几个操作 我们就可以下载些有趣的命令玩下

关于Linux系列--有意思的命令,小火车与代码雨_zhaotiannuo_1998的博客-CSDN博客_linux小火车命令  

Linux入门级教学-常见工具介绍及其使用_第1张图片Linux入门级教学-常见工具介绍及其使用_第2张图片Linux入门级教学-常见工具介绍及其使用_第3张图片

是不是非常有意思 动手试试吧

vim

作为苦逼程序员 我们本职就是写代码 那如何在Linux环境下敲代码呢

vim作为多模式编辑器 横空出世 接下来我们会介绍vim每个模式的用法和如何互相切换

1.vim最小集

与VScode相比较 vim就只是一个单纯的编译器 他有三种模式 是我们最为常用的

命令模式(默认打开vim时就有) 输入i,o,a(任意)即可切换到插入模式(输入模式)

返回则是esc        回到命令模式 shift+:即可切换到底行模式(编辑模式)

1.如果你不知道自己在什么模式 无脑esc就可 

Linux入门级教学-常见工具介绍及其使用_第4张图片

2.vim指令集

大部分指令都是在命令模式下执行 (不是底行也不是插入)

yy/nyy:复制当前行 或者 复制当前行在内的指定若干行

p/np :粘贴一行或者多行相同的内容到当前光标所在行之下

u:撤销刚刚的操作

ctrl + r :对撤销 进行 撤销

dd/ndd : 对当前行 或者 当前行在内的n行的内容 进行 剪切

如果只进行dd/ndd 那就是删除!

----------------------------------------------------------------------------------

shift g :将光标定位到文档的最结尾

gg:将光标定位到文档的最开始位置

shift $ :将光标定位到目前文档行结尾

shift ^:将光标定位到当前文档行的开头

hjkl 分别是左下上右 为什么不用上下左右小键盘因为老款键盘没有

r :替换光标所在的字符

shift ~ :快速大小写切换

x :行内删除 从左到右

X :行内删除 从右到左

底行模式下的指令

:/world 可全文搜索world字符 且高亮

:wq! 写入并强制退出;要是没有权限 咋强制都没用

:%s/Hello/hello 替换

:set nu / nonu 设置行数

:vs test1.c 分屏

3.vim的配置

新开的vim什么都没有 但vim是可以配置很多功能的,可以语法检查 提示高亮 设置行号等等

那如何来配置vim呢

vim.vimrc 配置文件 在这个文件里添加即可 本文不再补充

gcc/g++的使用

写好了代码 那如何编译? 这需要gcc或者g++了 gcc负责c语言 g++负责c++

首先我们先介绍下一个程序的翻译过程 是如何从文本文件翻译成二进制文件的

 1.预处理(头文件展开 条件编译 宏替换 去注释等等)

-E:从现在开始进行程序翻译 直到预处理阶段做完就停止

2.编译(C语言 转变 汇编语言)

-S:从现在开始进行程序翻译 直到编译阶段做完就停止

3.汇编 (汇编-> 可重定位目标二进制文件 不可以被执行的 bin.obj -> 把我们的自己的代码翻译成二进制目标文件)

-c:从现在开始进行程序翻译 直到汇编阶段做完就停止

4.链接(将我们的obj文件 和库文件某种合并 形成可执行程序)

gcc -o myfile myfille.c         gcc -o(选项)+ 你要形成文件的名字 + 文件名称

而链接的库 有动态库 和 静态库之分

动态库和动态链接:链接时 找到动态库 拷贝动态库中我们需要的代码的地址到自己可执行程序里

静态库和静态链接:链接时 找到静态库 拷贝静态库中我们需要的代码到自己可执行程序里

静态链接成功 不依赖任何库 自己就可以独立运行

动态链接成功 还是依赖动态库 一旦动态库丢失 程序无法运行

 git

git是一种版本控制软件

在编写代码时 肯定有不同的版本 以前的版本如果不保存 不就丢失了吗 

git就是一个仓库可以保存这些代码

git仓库 有本地仓库 和远程仓库 作为保障安全

先下载git 然后在 gitee 或者 github上创建仓库

yum install git

git clone + 仓库网址

你的目录底下就有个 文件夹 这就是你的仓库了

将需要上传的文件 拷贝到该仓库里

git add .

git commit -m '输入你的注释'        //都能看见 别乱写

//这个时候 只是本地 提交了git

git push

//提交到远端

git rm main.c

//删除

gdb使用

我们写的程序 有着debug 和 release 版本        在debug版本中 程序非常大 因为里头添加了许多的调试信息        gdb作为调试器 我们可以使用它来 调试

gdb mytest 直接这样 会报错的 因为gcc/g++默认形成的时release版本

需要 -g :让gcc/g++ 以debug 形成编译

进入调试 我们如何操作呢

list l 行号:显示 binFile 源代码,接着上次的位置往下列,每次列 10 行。
list l 函数名:列出某个函数的源代码。
r run :运行程序。
n next :单条执行。
s step :进入函数调用
break(b)  行号:在某一行设置断点
break  函数名:在某个函数开头设置断点
info break :查看断点信息。
fifinish :执行到当前函数返回,然后挺下来等待命令
print(p) :打印表达式的值,通过表达式可以修改变量的值或者调用函数
 
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项目自动化构建工具 —— make/Makefile

make 是一个命令 Makefile 是一个文件 

vim Makefile //打开makefile

makefile:myfile.c //依赖关系
    gcc -0 myfile myfile.c // 依赖方法
.PHONY:clean
clean:
    rm -f myfile

 makefile是一个围绕依赖关系和依赖方法构建的一个自动化编译工具

好啦 到这里我们已经介绍完Linux常用工具 喜欢的朋友不妨一键三连

你可能感兴趣的:(Linux,学习手册,linux,git)