赞
踩
yum:类似于我们使用手机上的“应用商店”,用来管理当前系统中能够安装的工具以及可以卸载的工具,并实现安装以及卸载操作。
1、查看所能安装的软件工具:
yum list:显示所有工具
yum search keyword:根据指定的关键字查找指定工具
2、安装一个指定工具
yum install package_name:根据软件包名称进行安装
yum list installed:查看所有已安装软件包
此处需要注意,安装软件首先需要切换到 root 管理员用户之后才能进行安装-----su root
3、卸载一个指定工具:
yum remove package_name:根据软件包名称进行卸载
同样需要先切换到 root 用户之后才能进行此操作。
4、
yum clean all 清理老旧的缓存信息
yum -y update:升级所有包同时,也升级软件和系统内核;
yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样
sz:将 linux 上内容迁移到主机
sz 文件名
rz:将主机内容上传到 linux (直接拖移也可以)
安装 gcc g++ gdb git 工具:
yum install vim gcc gcc-c++ gdb git
vim:Linux中编辑器,vim 中默认不能使用鼠标,一系列操作全部通过键盘来完成,因此 vim 分为多种操作模式,不同操作模式下相同按键有不同的功能
vim 操作模式分为 12 种,最常用的有三种:
普通模式、插入模式、底行模式
1、插入模式:完成插入数据的操作
2、普通模式:vim 打开文件后的默认模式完成文本操作以及光标移动、其他指令操作
3、底行模式:更多用于保存退出文件
vim filename 打开文件之后默认处于普通模式(无法进行数据的插入操作,但是可以实现文本的复制粘贴剪切等操作),若文件不存在则会自动创建该文件并打开
1、普通模式-----》插入模式:i o a I O A
i:在光标位置进行插入(小写 i )
o:在光标所在行的下一行插入(普通模式下的操作),新建一行进行操作
a:在光标所在位置后一个字符开始插入
I:光标移至行首进行插入
A:光标移至行尾进行插入
O:表示在光标位置的上一行进行插入,将之前内容下移一行
(插入方式均可在Linux 中进行练习操作)
2、插入模式-----》普通模式:键盘左上角 esc 按键
3、普通模式-----》底行模式:英文状态下的冒号 :
(任何模式下都可以按 esc 回到普通模式)
1、底行模式:
:w:保存
:q:退出
:wq:保存并退出
:q!:不保存强制退出
:vnew filename.c :同时打开两个 vim 窗口
2、普通模式:
(1)光标移动:
hjkl:左下上右
ctrl + f/b:向下/上翻页
gg/G:跳转到文档首/尾行
(2)文本内容操作:
yy:复制光标所在行(一行)
nyy:复制 n 行内容
ggdG:删除 vim 中文本内容
p:在下方粘贴
np:粘贴 n 次
dd:剪切/删除所在行
D:删除本行光标之后的内容
ndd:剪切/删除光标开始 n 行内容
x:删除光标所在字符
dw:删除单词
(3)其他典型操作:
u:撤销
ctrl + r:返回撤销
gg=G:全文对齐
ctrl + z 并不是退出 vim ,只是停止编辑,会产生一个临时交换文件 XXX.swp
R 使用临时文件覆盖原有文件内容,按 q 退出该文件然后删除交换文件 rm XXX .swp
C/C++等都属于高级语言,不能直接被 CPU 识别,编译器将上层高级语言代码解释成对应平台的 CPU 指令,能够被 CPU 识别。
预处理过程:展开所有代码(引入头文件、宏替换、删除注释)
编译阶段:检查语义语法错误,若无错误将 C 语言解释成汇编语言
汇编过程:将汇编代码解释成二进制的 CPU 指令
链接过程:将所有指令代码打包到一起(不仅是打包我们自己的代码,还有链接库文件中库函数指令代码),进行组织成为可执行文件
链接方式:
动态链接: 链接时,将库中使用到的函数符号表记录到可执行程序中(并非将具体函数实现指令拿过来)
优点:生成可执行程序小,多个程序可以在内存中使用同一份库代码(节省资源)
缺点:运行库,也就是运行时需要加载库到内存中,如果库被删除了程序就无法运行
静态链接: 链接时,直接将库中使用到的函数具体实现指令拷贝一份到可执行程序中
优点:无运行依赖
缺点:生成的可执行程序大,库中代码可能在内存中存在冗余
-E:只进行预处理
-S:只进行编译处理
-c:只进行汇编处理
-o:指定生成文件名称
gdb 调试器功能:调试、观察程序的运行过程,通常是为了排查程序的运行错误
编译错误(语句出错);
链接错误;
运行时错误(运行中逻辑不对以及程序运行时崩溃)
debug 调试版:不对代码进行优化,并且加入程序调试信息
release 调试版:不包含调试信息,并且会对代码进行优化
调试程序的前提:程序必须是一个 debug 版本的程序
打开一个程序的调试:gdb filename
gcc/g++ 默认会生成 release 版本程序,若要生成调试版需要加上 -g 选项:gcc -g fileneme -o filename1
跳出 gdb 调试器:quit (简写 q)
(1)流程控制:
run:直接运行程序 (简写 r)
start:开始逐步调试
list:查看调试行附近代码 (简写 l )
list n:查看调试行(第 n 行)附近的代码----list test.c : 11
next:下一行—逐过程,遇到函数不会进入函数,直接运行完毕(n)
step:逐语句,遇到函数会进入函数继续调试 (简写 s)
until:直接运行到指定位置 例如:until test.c:16
continue:继续从当前调试位置直接运行 (简写 c)
break:打断点 (简写 b)
例如:在test.c文件第14行打断点 break test.c:14
给函数打断点 break function
info break:查看断点信息 (简写 i b)
delete:删除断点 例如:delete id (简写 d)
watch:变量监控断点—当变量发生改变时候停下来
例如:watch variable _name
(2)内存控制:
print:查看/设置变量内容(简写 p)
例如:print var_name
print var=val
Segmentation fault:运行时错误
backtrace:查看函数调用栈-----常用于检测函数运行时崩溃位置(简写 bt) 一般函数错误位置在函数调用栈栈顶
gdb 可以直接反馈错误信息
(博客内容为原创,欢迎评论~)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。