linuxc学习记录day2

前天做了个入门,学了一些linux的基本操作,文件的操作命令等,经过一天的巩固,今天又来了一堆干货,很杂,但是很有用

上代码(简单命令)

今天跟明天下午自习的任务基本就是linux下c语言的相关知识了

编译器;编译器;调试器;makefile文件等

开始编辑命令:

i           在光标前输入文本
I           在当前行开始输入文本
a          在光标后输入文本
A          在当前行末尾输入文本
o          在当前行后输入新一行
O          在当前行前输入新一行
 光标移动命令:

b      移动到当前单词的开始  
e      移动到当前单词的结尾 
w     向后移动一个单词
h      向前移动一个字符 ←
j         向下移动一行 ↓
k      向上移动一行 ↑
l       向后移动一个字符 →
 删除命令:

x      删除光标所在的字符
dw    删除光标所在的单词
d$     删除光标至行尾所有字符
D      同 <d$>
dd     删除当前行
ndd   删除当前行以后的n行

改变与替换操作命令:

r      替换光标所在的字符
R      替换字符序列
cw    替换一个单词
ce    同cw
c$    替换自光标位置至行尾的所有字符
C      同c$
cc     替换当前行

拷贝和粘贴命令:

yw     将光标所在单词复制到粘贴板   
y$     将光标至行尾的字符复制到粘贴板
Y       同y$
yy      将当前行复制到粘贴板
nyy    将当前行后的n行复制到粘贴板
P       将粘贴板中的内容粘贴在光标前
p       将粘贴板中的内容粘贴在光标后

其他有用的命令:

nG                跳到第n行  
u                  撤销
.                重做
 
配对括号的查找:
用法:将光标移动到一个括号上,按下%,光标跳转到其配对的括号上
{}、()
 
页面操作:
ctrl + b              #向前移动一页 
ctrl + f               #向后移动一页
zz                     #将当前行置于屏幕中央
gg                     #移动到第一行行首
G                      #移动到最后一行行首
数字 + 命令:
nG                     #跳到第n行
nx                     #删除n个字符
ndd                   #删除当前行以后的n行
nyy                   #将当前行后的n行复制到粘贴板
n+                    #向后跳转n行
n-                     #向前跳转n行
n↑↓←→         #向上下左右跳转n次

以上为命令行模式下指令

设置vi:

:set number等于:set nu      显示行号
: set nonumber等于:set nonu  隐藏行号
:set autoindent             智能缩进
:set mouse=a                开启鼠标
 

文件保存及退出命令:

:q                     不保存退出
:q!                    不保存强制性退出
:w                     保存编辑  
:w filename        另存为文件 filename
:wq                   保存退出
:x                      同 :wq
ZZ                     同 :wq

查询命令:

/abc    向后查询abc
?abc    向前查询abc
n         向后继续查询
N         向前继续查询

替换与查找:

查找+替换:
:s/old/new                  替换该行第一个old为new
:s/old/new/g               可以替换全行中所有的old为new
:#,#s/old/new/g          替换两行之间出现的old为new,#,#为两行的行号
:%s/old/new/g             替换全文的old为new
:%s/old/new/gc           全文替换前需确认

以上为底行模式命令

插入模式即为正常输入代码

第二个重要知识点为gcc编译器和gbd调试器

在我看来,gcc编译器是一个强大的编译程序,负责c语言与二进制机器码之间的转换

而gbd调试器是用来检验程序功能实现的重要工具,只不过不是基于图形界面,而是用代码操作

gcc相关的文件分为:

.c为后缀的文件,c语言源代码文件;
.h为后缀的文件,是程序包含的头文件;
.i为后缀的文件,是已经预处理过的c源代码文件;
.s为后缀的文件,是汇编语言源代码文件
.o为后缀的文件,是编译后的目标二进制文件;

分别对应4个过程的源文件与目标文件

有几点要注意:

(1)gcc example.c -o example      #直接生成可执行文件
(2)./example                             #运行可执行文件
(3)若不使用 -o 则生成可执行文件 a.out
(4)Linux头文件默认放在/usr/include中

至于gbd调试器,只要记住一些功能就行了:

1、   l(list)                 #一次列出10行代码(list n,m   #列出n~m行)
2、   r(run)                #执行程序(未设置断点,将程序执行完毕)
3、   b(break)             #b+行号,在该行设置断点
4、   c(continue)         #当程序运行时,继续运行程序,直到遇到断点
5、   i b(info break)     #查看断点信息
6、   d+编号               #(delete)删除该断点(d删除所有断点)
7、   clear+行号          #删除指定行断点(不加行报错)
8、   p(print)              #p+变量名,显示变量的值
9、   s(step)               #单步执行(进入调用函数)
10、 n(next)               #不进入调用的函数,只在主函数中运行
11、 return/finish        #退出step进入的调用函数
12、 q(quit)               #退出gdb调试

今天的代码量感觉很多知识很杂,但是通过理解来记忆的话,也不是很难,一小步而已,但确实在进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值