软件包管理工具:yum
三板斧操作:
ping www.baidu.com看看网络是否通畅
su root切换至root权限
sudo yum install lrzsz为当前用户的当前命令操作临时赋予root权限,
初次使用时需要sudoers配置文件中添加普通用户:su root,chmod u+w /etc/sudoers,vim/etc/sudoers,:90跳转至第90行向下方添加内容
username ALL=(ALL) ALL
查看所有能够安装的软件包:yum list
安装软件包:yum install package_name
移除软件包:yum remove package_name
个人编程相关工具:编辑器/编译器/调试器
编辑器:vim
vim的操作模式:12种,常用的有三种
普通模式:vim打开文件默认所处模式,对文件内容进行命令操作
插入模式:对文件插入数据
底行模式:当前仅涉及保存和退出操作
模式切换:vim filename
普通–>插入: iao/IAO
插入–>普通:ESC vim中所有模式都是围绕普通模式切换的,连续按两下esc都会切换回普通模式
普通–>底行: 冒号":"
底行模式下的操作:
:w(保存) :q(退出) :wq(保存退出) :q!(强制退出,不保存) :x(修改之后保存并退出,否则仅退出)
普通模式下的操作:
光标移动的操作:hjkl上下左右 wb单词右左移动 ctrl+f/b下上翻页 gg/G直至首行尾行
文件内容的操作: yy复制光标所在行内容 p在下一行粘贴 nyy复制光标所在行直至n行数据 P向光标所在行上一行粘贴 dd剪贴 ndd从光标所在行向下n行 x删除光标所在字符 dw删除光标所在单词 D从光标所在行到本行行位
其他操作: u撤销上次操作 ctrl+r反向撤销 gg=G全文对齐
编译器: gcc/g++ c语言/c++
通常认为c语言程序是一种高级语言程序,这些程序cpu无法直接识别,需要编译器解释为机器指令后方可执行
编译过程:
预处理:宏替换,展开头文件,删除注释
编译:进行语义语法检测,解释为汇编代码
汇编:将汇编代码解释为二进制机器指令
链接:将当前代码以及函数库还有其他文件代码打包生成可执行性程序
函数库:将大量已经实现的代码打包生成一个文件–库文件(编译好的机器指令代码)
链接方式的分类:
动态链接:链接时在可执行程序中记录库中函数符号信息表,并没有将具体函数的实现代码写入到可执行程序中,运行时需要加载到内存中,但是在内存中多个程序可以使用同一个库(节省资源)
静态链接:在链接函数库文件生成可执行程序的时候,直接将库中的代码实现写入到可执行程序中,生成的代码会比较大一点,但是运行的时候不需要库的存在
(gcc中默认的是动态链接)
gcc常见选项:
-E 当前gcc只完成预处理
-S 当前gcc只完成编译
-c 当前gcc只完成汇编
-o 用于指定要生成的目标文件名称
-g 生成debug版本程序
调试器: gdb
调试程序运行过程,查看程序出问题的位置
程序调试的前提:生成一个debug版的程序,程序中添加了调试符号信息,
然而linux下gcc编译器,默认生成的是release版程序,编译程序时,增加gcc -g选项,表示生成debug版程序
1.开始调试命令:
run:程序直接开始运行; start: 开始逐步调试
2.调试的流程控制命令:
list— 查看指定文件指定行附近的代码 list filename:line
step—下一步,若当前调试位置是一个函数,则会进入函数 next:下一步,直接运行这一行的函数
until— 直接运行到指定文件的指定行 until filename:line
continue: 从当前位置继续运行
3.断点相关命令:
break—打断点 break filename:line break function_name
info break—查看断点信息 delete—删除所有断点 delete break_id:
watch— 变量监控,当变量内容发生变化则停下来 watch varible name
4.其他命令:
backtrace:—查看程序运行信息中的函数调用栈信息—定位程序崩溃位置,因为程序崩溃后,栈顶函数就是出问题的函数
print—查看变量内容
项目相关工具
项目的自动化构建工具:make/Makefile
Makefile: 是一个记录项目构建流程规则的文本文件,在这个文件中可以编写整个项目的编译流程规则
make: Makefile解释程序,逐行解释执行项目构建规则,完成项目构建,当前命令行下输入make,这时候这个解释程序会到当前路径下寻找名叫Makefile的文件,对其内部的内容进行解释执行, 找到第一个目标对象后,执行命令并退出
Makefile的编写规则:
1.目标对象: 依赖对象
\n\t要执行的指令
make的解释执行规则:
2.预定义变量:在命令中使用的变量/makefile中提前定义好的变量
$^—所有的依赖对象 main.o child.o
$<—所有依赖对象中的第一个 main.o
$@—目标对象 main
3. .PHONY:clean—声明伪对象:不管目标对象是否最新,每次都重新生成
通常需要生成的程序不会设置伪对象,因为每个项目的构建可能需要很长时间
项目的版本管理工具: git/svn 可以实现在后续的版本变化中直接回滚到某一版本
svn : 服务器模式的集中版本管理工具
git : 是一种分布式项目版本管理工具(可在pc中建立git仓库,于本地进行自己的版本管理, 比较灵活)
git clone : 克隆远程服务器上的git仓库
git add ./*:添加本次修改的文件信息
git comment -m"本次提交的备注"
git push origin master
注意配置git信息(邮箱)
编写一个进度条程序:
printf函数: 向标准输出写入数据—将数据打印到终端显示
注意:printf并不会立即将数据写入标准输出文件,而是先写入到缓冲区中
\r:回车符,让光标移动到起始位置
\n:换行符,针对标准输出的时候可以刷新缓冲区
来源:CSDN
作者:HHHHH_________
链接:https://blog.csdn.net/HHHHH_________/article/details/104735822