Linux常用工具

yum:软件包管理工具
查看软件包:yum list
安装软件包:yum install 包名称
移除软件包:yum remove 包名称

vim:编辑器
vim中一共有12种模式,常用的有三种:
插入模式:插入数据
普通模式:完成命令操作(移动光标,复制,粘贴,删除,撤销)
底行模式:保存文件,退出编辑
模式切换
普通模式->插入模式
i 从光标所在位置开始插入
I 光标移动到行首开始插入
a 光标移动到下一个字符处开始插入
A 光标移动到行尾开始插入
o 在光标所在行下方添加新行开始插入
O 在光标所在行上方添加新行开始插入
插入模式->普通模式
ESC
普通模式->到底行模式
: / ?
底行模式下操作:
w 保存
q 退出
wq 保存并退出
q! 强制退出
/string ?string 字符串查找
普通模式下操作:
光标移动 hjkl 左下上右
w 按单词向后移动 b 按单词向前移动
ctrl+ b 向上翻页 ctrl + f 向下翻页
gg 光标回到文件起始位置
G 光标回到文件末尾
复制:
yy 复制光标所在行
nyy 从光标所在行起向下复制n行
粘贴:
p 向光标所在行下方粘贴
P 向光标所在行上方粘贴
删除:(就是剪切)
dd 删除光标所在行
ndd 从光标所在行起向下删除n行
x 删除光标所在字符
dw 删除单词
D 删除光标后边的数据
撤销:u
恢复:ctrl + r

gcc:编译器
将高级语言(C语言)编译成机器可以识别的语言
预处理:去掉注释展开代码
编译:语法语义纠错,将C语言代码解释称汇编代码
汇编:将汇编代码解释称机器指令
链接:链接库文件中的代码
静态链接:链接静态库,将库中代码拷贝到程序中,程序比较大,但是运行时不需要依赖库的存在
静态库如果多个程序使用了相同的静态库,运行时程序别加载到内存中,会出现多份冗余代码
动态链接:链接动态库,记录函数位置符号信息,程序比较小,但是运行时需要依赖动态库的存在
(gcc默认连接方式是动态链接)
gcc常用选项
-E 只进行预处理
-S 只进行编译
-c 只进行汇编
-o 用于指定生成文件的名称
-static 使用静态链接
gdb:调试器
调试程序的运行过程–调试bug
0.向程序中加入调试符号信息(程序调试的前提)
gcc默认生成的是release发布版程序,可执行程序中没有加入调试符号信息
gcc -g 生成debug版本可执行程序
1.加载程序
gdb ./main
2.开始调试
run 直接运行程序 start 开始逐步调试
3.常见操作
list(l) 查看代码 list file:line
n 下一步 不跟踪进入函数(逐过程)
s 下一步 跟踪进入函数(逐语句)
until(u) 直接运行到指定行 until file:line
break(b) 打断点 break file:line
break function_name 给函数打断点
delete(d) 删除断点 delete break_id
info(i) 查看调试信息
info break 查看断点信息
print§ 查看变量内容 print var
continue© 继续运行
watch 变量监控,当变量内容改变时停下来
watch var
backtrace(bt) 查看函数调用栈信息–快速定位程序崩溃位置

make/Makefile:项目自动化构建工具
Makefile:普通文本文件,记录项目的构建流程规则
make:一个程序–makefile解释器;解释makefile中的项目构建规则;完成项目的构建
makefile基本编写规则:
目标对象:[依赖对象]
tab 要执行的命令
makefile预定义变量:$@ $< $^
$@: 目标对象
$^: 所有的依赖对象
$<: 依赖对象中的第一个
伪对象:不管对象是否最新,是否存在,每次都需要伪对象执行生成命令
声明伪对象: .PHONY:clean
makefile中变量赋值方式:
1.递归展开变量(=):用=或define关键字都可以定义这种变量,如果变量的定义引用了其它的变量,那么引用会一直展开下去,直到找到被引用的变量的最新的定义,并以此作为改变量的值返回。
2.简单扩展变量(:=):用这种方式定义的变量,会在变量的定义点,按照被引用的变量的当前值进行展开。
3.可以通过+=为已定义的变量添加新的值
当变量从前没有被定义过, +=和=是一样的,它定义一个递归展开的变量,但是,当变量已经有定义的时候,+=只是简单 的进行字符的添加工作。
如果起初你用:=定义变量,那么+=只是利用变量的当前值进行添加
如果起初用=定义变量,+=的行为就变得有些古怪,它并不会在使用+=的地方马上进行变量展开,而是会把展开工作推后, 直到它找到最后变量的定义,这和=定义变量的行为是类似的
4.?=
赋默认值,如果没有初始化该变量,就给它赋上默认值。
git:项目版本管理工具
基本操作:
下载服务器上的代码:
git clone https://地址
修改代码后,本地提交(本地管理)
git add new_file
git commit -m “本次提交的备注信息”
将本地修改提交到服务器:
git push origin master (master是git代码管理主分支)

你可能感兴趣的:(Linux常用工具)