1. yum
yum list
显示软件包的信息yum search keyword
根据关键字查找指定工具,检查软件包的信息
yum install package-name
安装软件包,需要root权限执行此命令。
yum remove package
卸载指定的软件包,需要root权限执行此命令。
2. vim
- Linux中的编辑器,vim默认不能使用鼠标,需要通过键盘来完成。
- 常用的操作模式:普通、插入、底行。
- 模式切换:任意到普通-Esc;普通到插入:iao;普通到底行:英文冒号。
- 底行模式 :w–保存;:q–退出;:wq–保存并退出;:q!–不保存强制退出。 (不要使用Ctrl+c退出)
- 普通模式 :完成文本操作以及光标移动。
- 光标移动:
· hjkl–左下上右;
· wb–以单词形式右左移动;
· Ctrl+f/b–上下翻页;
· gg/G–首行/尾行; - 文本操作:
· yy/nyy–复制;
· p/np–粘贴;
· dd/ndd–删除行;
· x–删除光标所在字符;
· dw–删除单词;
· u–撤销;
· Ctrl+r–反向撤销;
· gg=G–全文对齐。
3. gcc/g++
- 编译器将所写的高级语言代码,解释成为机器能够识别的指令;gcc:C语言编译器;g++:C++语言编译器。
- 程序的编译过程:预处理、编译、汇编、链接。
– 预处理阶段:展开所有代码(引入头文件,宏替换,删除注释…),-E只进行预处理。 -o指定输出文件名称。
将test.c文件预处理输出test.i文件。
– 编译阶段:检查语义语法错误,如果没有错误则将C语言解释成为汇编语言,-S只进行编译处理。
– 汇编阶段:将汇编代码解释成为二进制的CPU指令,-c只进行汇编处理。
– 链接阶段:将所有的指令代码打包到一起,进行组织成为可执行程序,
- 链接方式:动态链接-链接动态库生成可执行程序,静态链接-链接静态库生成可执行程序;gcc默认链接方式:动态链接。
4. gdb
-
调试器–调试程序的运行过程,发现程序中存在问题。
-
程序的错误分类:编译错误,链接错误,运行时错误。
-
调试程序的前提:程序必须是一个debug版本的程序。可通过gcc -g生成的debug调试版程序(不会进行代码优化,并且会加入调试信息)。
-
gdb常用的调试指令:
gdb ./test.exe
。
-
调试指令
run--直接运行程序;start--开始逐步调试;(r) step--下一步-逐语句-遇到函数则进入函数继续调试;(s) next--下一步-逐过程-遇到函数直接运行完毕;(n) until--直接运行到指定位置-until test.c:3; continue-- 继续当前调试位置运行;(c) list--查看调试运行附近代码-list test.c:12;(l) break--打断点-breaktest.c:4;(b) into break--查看断点信息;(i b) delete--删除断点;(d) watch--变量监控断点-当变量发生改变的时候停下来-watch variable_name; print--查看或设置变量内容-print var_name;(p) backtrace--查看函数调用栈-通常用于检测程序运行时崩溃位置; quit--退出gdb调试。(q)
5. make/Makefile
- make/Makefile:项目自动化构建工具
- Makefile:文本文件,记录项目的构建流程规则;
- make:makefile的解释器,解释其中的流程规则逐步执行完成项目构建;
- makefile编写规则:
· 目标对象,依赖对象,执行的指令;
· \t 为了生成目标对象要执行的指令
· 预定义变量:$ @ --表示目标对象;$ ^ --表示所有依赖对象,$< --表示依赖对象的第一个;
· 程序的编译过程:预处理、编译、汇编、链接 --在项目构建中会整体分为两步-编译与链接; - make的解释执行规则:
· 在命令行中敲击make指令,则表示运行make解释程序,程序会在当前目录下找到名称为makefile/Makefile的文件;
· 在规则中找到要生成的第一个目标对象,(判断目标对象是否已经存在,存在的话是否需要重新生成–根据原码文件的最后一次修改时间对比),然后执行对象生成这一指令;
· make每次在makefile中只会找到第一个目标对象进行生成,生成后就会退出;
· make在生成目标对象的时候,会先查找依赖对象的生成规则,先生成依赖对象,然后再去生成目标对象。
- 伪对象:声明一个目标对象与外部文件无关,无论如何都要执行指令生成的对象,通过.PHONY声明。
6. git
-
项目版本管理工具 - 整理归档项目周期的各个阶段,便于项目的管理。
-
三板斧操作
· (1)在GitHub建立远程仓库;
· (2)将远程仓库克隆到本地:git clone https://github.com/wangmei1103/Linux-Xshell.git
;
· (3)提交本次修改记录:git add --all ./
;
· (4)提交本次仓库版本管理:git commit -m "本次修改的备注信息"
;
· (5)将本地版本同步到远程仓库:git push origin master
(master 是主分支) 。 -
gitee更新操作