linux学习笔记--工具

Posted 水澹澹兮生烟.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习笔记--工具相关的知识,希望对你有一定的参考价值。

1.yum

yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,Centos等发行版上.
yum list:可以罗列出当前有哪些软件包
sudo yum install xxx:安装xxx软件

2.vim

2.1使用vim编辑文件

vim [文件名称]

2.2三种模式

正常模式:在正常模式下是不能往文件中进行写入的,需要进入到插入模式才可以正常写文件
插入模式:按i键进行掺入模式,就可以进行正常插入文件内容,esc可以从任何模式回到正常模式
第行模式:使用":"就进入底行模式
:w 保存
:wq 保存并推出
:q 不保存,直接退出
:q! 强制退出
在这里插入图片描述

2.3移删复替撤更跳

a.在正常模式下的快捷操作
移动光标

  • 上下左右键
  • h:光标向左移动,j:光标向下移动,k:光标向上移动,l:光标向右移动
  • gg:快速的回到第一行,G:快速的回到最后一行
  • [num]G:快速的跳转到某一行

删除

  • x:向后删除光标所在位置的字符
  • [num]x:向后删除num个字符
  • X:向前删除字符,不包括光标所在的字符
  • [num]X:向前删除num个字符,不包括光标所在位置的字符

剪切

  • dd:剪切作用,如果剪切完毕不粘帖,则和删除效果一样
  • [num]dd:剪切num个字符
    复制和粘贴
  • yy:复制一行
  • [num]yy:复制多行
  • p:向光标的下一行进行粘贴
  • P:向光标的上一行进行粘贴

替换

  • r:替换当前光标所在的字符
  • R:进入到replace模式,进行替换,想要终止时,按esc结束。
    撤销&&更替换
  • u:撤销
  • ctrl+r:反撤销
  • cw:替换一个单词,并且从正常模式切换到插入模式

跳动

  • gg=G:整理当前代码格式

2.4常用指令

快速进入到插入模式:
o / O:快到下一行 / 快速到上一行

  • A:快速回到行尾
  • I:快速回到行首

搜索:(两个都要配合n来使用)

  • /:向下进行搜索
  • ?:向上进行搜索

查找:

在底行模式下 :%/[带要替换的字符串]/[替换成什么字符串]/g
在这里插入图片描述
行号

  • :setnu :设置行号
  • :set nonu :取消行号

3.gcc/g++

3.1预处理

预处理阶段:宏替换;头文件展开;去注释;条件编译
gcc/g++ -E [file] -o [file].i
在这里插入图片描述

3.2编译

语法语义检测:gcc -S [file] -o [file].s (将原代码转化成汇编代码)

3.3汇编

将汇编代码转换成机器代码(二进制代码)
gcc -c [file] -o file.o

3.4链接

用目标文件+库文件生成可执行程序
静态链接:gcc/g++命令行中,需要增加一个参数:-static
动态链接:默认就是动态链接
gcc [file] -o [filename]
如果我们采用的是动态链接,我们会将代码当中依赖其他库当中的函数的符号表再连接的时候编译到我们的程序中,而今天链接会直接将所用的函数直接编译到我们所执行的程序当中。

4.gdb

4.1debug&release

gcc [file] -o [filename]:得到的是release版本
gcc [file] -o [filename] -g:得到的时debug版本

4.2调试的范式

调试的范式 : gdb binfine
若是不想进行调试,那么q退出。
在这里插入图片描述

4.3调试的选项

调试的选项作用
l(list)查看文件内容
r(run)让当前的程序运行起来
b(breakpoint)+行号在所设行号处打上断点
i(info) b产看所有断点信息
disable [断点序号]短点失效
enable [断点序号]断点生效
n(next)逐过程执行
s(step)逐语句执行
p [变量名称] (printf)打印
bt(back trace)/where查看函数调用堆栈

在这里插入图片描述
coredump文件:内核转储文件,保存的是进程在崩溃的一瞬间内存的映像。

5.make&makefile

5.1make&makefile的解释

make是解释器解释makefile文件。makefile是书写编译规则的文件。make解释makefile文件,可以自动构建项目,自动化生成可执行程序。

5.2makefile文件的书写规则

目标对象&依赖对象&编译命令
在这里插入图片描述

5.3make的解释makefile文件的规则

  • make会在当前目录下找名字叫"makefile"或"Makefile"的文件
  • 永远只为生成第一个目标对象而服务
  • 若目标对象相对于依赖对象来说较新,则不生成
  • make在生成第一个目标对象的时候,如果依赖对象也需要后续生成,则先生成依赖对象后,使用依赖对象生成目标对象

5.4伪目标

.PHONY:目标对象
目标对象:
	执行命令

注意:

  • 在makefile中用#进行注释
  • 在vim中批量注释[ctrl+v–>选中注释的行(j/k)–>l(shift+i)–>插入注释符–>esc]
  • 在vim中批量取消注释[ctrl+v–>选中注释的行,列(j/k/l/h)–>x]

5.5makefile文件 — 内置变量&自定义变量

内置变量:
$^ :代表目标对象
$@ :代表依赖对象
自定义变量:
在这里插入图片描述

以上是关于linux学习笔记--工具的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记(21)

GNU工具链学习笔记

Linux学习笔记—— Linux下软件的安装

linux基础网络工具学习笔记

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

linux学习笔记--工具