Lniux2——环境开发基础

yum

yum list 当前一共有哪些软件包.
sudo yum install 安装软件
sudo yum remove 卸载软件

vim

三种常用模式:命令模式、插入模式、底行模式。
正常/普通/命令模式Normal mode):
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode):
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的频繁 的编辑模式。
末行模式(last line mode) :
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模 式。要查看你的所有模式:打开vim,底行模式直接输

vim基本操作

[正常模式]切换至[插入模式]:
输入a :从目前光标所在位置的下一个位置开始输入文字
输入i :从光标当前位置开始输入文件
输入o:插入新的一行,从行首开始输入文字。
[插入模式]切换为[命令模式]:
按「ESC」键
[正常模式]切换至[末行模式]:
「shift + ;」, 其实就是输入「:」
退出vim及保存文件
: w (保存当前文件)
: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)

vim正常模式命令集

移动光标
左、下、上、右「h」、「j」、「k」、 「l」
文章末尾:「G」
行尾:「 $ 」
行首:「^」
下个字的开头:「w」
回到上个字的开头:「b」
文本开始:[gg]
删除文字
一个字符:「x」
删除光标所在行:「dd」
从光标所在行开始删除#行:「#dd」
复制
复制光标所在行到缓冲区:「yy」
将缓冲区内的字符贴到光标所在位置:「p」
替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止
撤销
「u」:如果您误执行一个命令,可以马上按下。可以多次撤销。
「ctrl + r」: 撤销的恢复
跳至指定的行
「ctrl」+「g」列出光标所在行的行号

vim末行模式命令集

列出行号:「set nu」

编译器gcc/g++

  1. 预处理(进行宏替换)
  2. 编译(生成汇编)
  3. 汇编(生成机器可识别代码)
  4. 链接(生成可执行文件或库文件)
    预处理(进行宏替换):包括宏定义,文件包含,条件编译,去注释等
    编译(生成汇编):检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言
    汇编(生成机器可识别代码) :把编译阶段生成的“.s”文件转成目标文件
    连接(生成可执行文件或库文件) :在成功编译之后,就进入了链接阶段。
    函数库
    静态库:指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也 就不再需要库文件了。其后缀名一般为“.a”
    动态库:在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时 链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“.so”gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件,如下所示。 gcc hello.o –o hello
    gcc命令:
    -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
    -S 编译到汇编语言不进行汇编和链接
    -c 编译到目标代码
    -o 文件输出到文件
    -g 生成调试信息。GNU 调试器可利用该信息。

gdb

程序的发布方式有两种,debug模式和release模式。 Linux gcc/g++出来的二进制程序,默认是release模式, 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项
退出: ctrl + d 或 quit
调试命令:
list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。
r或run:运行程序。
n 或 next:单条执行。
s或step:进入函数调用
break(b) 行号:在某一行设置断点
info break :查看断点信息。
p 变量:打印变量值
continue(或c):从当前位置开始连续而非单步执行程序
delete breakpoints n:删除序号为n的断点
quit:退出gdb

make/Makefile自动化构建工具

目标对象:依赖对象
main: main.o child.o
预定义变量:
$< 依赖对象中的第一个对象文件main.o
$^所有依赖对象main.o child.o
$@目标对象 main
依赖关系:
上面的文件 hello ,它依赖 helll.o
hello.o , 它依赖 hello.s
hello.s , 它依赖 hello.i
hello.i , 它依赖 hello.c
make工作原理

  1. make会在当前目录下找名字叫“Makefile”或“makefile”的文件
  2. 如果找到,它会找文件中的第一个目标文件(target),并把这个文件作为终的目标文件
  3. 依赖对象时间更新则再次生成目标文件
  4. 若不存在依赖对象文件,则在文件中找依赖对象的生成规则
  5. .找到,生成目标文件,完成。找不到退出。报错。
    项目清理
    .PHONY:clean #声明伪对象(不管对象是否最新,每次都重新生成)
    clean:
    rm -f hello.i hello.s hello.o hello
    进度条小程序
    \r,回车符,让光标移动到起始位置
    \n。换行符。针对标准输出的时候有刷新缓冲区的作用

git

三板斧:git add 将代码放到刚才下载好的目录中
git commit 提交改动到本地
git push 同步到远端服务器上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值