20145310《信息安全系统设计基础》第二周学习总结

20145310《信息安全系统设计基础》第二周学习总结

教材学习内容总结

Vim基本操作

vi 从控制台进入vi编辑器
vi filename 创建名为filename的文件并进入vi编辑器
命令行模式

i 从光标所在字符前插入
a 从光标所在的字符后插入
o 从光标所在行的下面插入空白行
I 从光标所在行的行首插入
A 从光标所在行的行末插入
O 从光标所在行的上面插入空白行
s 删除光标所在字符进入插入模式
S 删除光标所在行进入插入模式
Esc 插入模式切换到命令行模式
k 类似方向键上
j 类似方向键下
h 类似方向键左
l 类是方向键右
Ctrl+u 向上移动半页
Ctrl+d 向下移动半页
Ctrl+b 向上移动一页
Ctrl+f 向下移动一页
0 光标移动到所在行的行首
gg 移动到文本的第一行
G 移动到文本最后一行
$ 光标移动到所在行的行为
^ 光标移动到所在行的行首
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头
x 每按一次,删除光标所在位置的一个字符
nx 如"3x"表示删除光标所在位置开始的3个字符
X 删除光标所在位置的前一个字符
nX 如"3X"表示删除光标所在位置的前3个字符
dd 删除光标所在行
ndd 如"3dd"表示删除光标所在行开始的3行字符
yw 将光标所在之处到字尾的字符复制到缓冲区
nyw 复制n个字符到缓冲区
p 将缓冲区里的内容写到光标所在位置
r 替换光标所在处的字符
R 替换贯标所在处的字符,直到按下"Esc"为止
u 撤销命令,可多次撤销
Ctrl+g 列出光标所在行的的行号
nG 表示移动光标到文本的第n行行首
ZZ 存盘退出
ZQ 不存盘退出
末行模式

: 先按Esc进入命令行模式再按Esc进入末行模式
set nu 开启每行的行号
set nonu 取消每行的行号
n n代表数字,表示跳到n行
/关键字 先按"/",在输入关键字后回车查找字符(查找),按n查找下一个
?关键字 类似"/关键字"
!命令 windows下运行dos命令,linux下运行shell命令
s /a/b 将光标所在行的第一个a替换为b
s /a/b/g 将光标所在行的a全部替换为b
w 保存修改的文件
w filename 保存并命名为filename
q 退出vi
q! 强制退出无法退出的vi
wq 保存并退出

GCC的使用

GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译。

可以把编译过程分成四步,以编译hello.c生成可执行文件hello为例

预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
•编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
•汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as
•链 接:gcc hello.o –o hello ;gcc -o 调用ld

GDB

gdb主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,必须要把调试信息加到可执行文件中。

1.启动gdb的方法有以下几种:
a)gdb program也就是执行文件,一般在当前目录下。
b)gdb core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后,core dump后产生的文件。
c)gdb 如果程序是一个服务程序,那么可以指定这个服务程序运行时的进程ID。
其他调试命令有:
display 跟踪变量值的改变
until 跳出循环
finish 跳出函数
help 帮助

设置断点
(gdb) break func <-------------------- 设置断点,在函数func()入口处。
(gdb) info break <-------------------- 查看断点信息。
(gdb) r <--------------------- 运行程序,run命令简写
(gdb) n <--------------------- 单条语句执行,next命令简写。
(gdb) c <--------------------- 继续运行程序,continue命令简写。
(gdb) p I <--------------------- 打印变量i的值,print命令简写。
(gdb) bt <--------------------- 查看函数堆栈。
(gdb) finish <--------------------- 退出函数。
(gdb) c <--------------------- 继续运行。
(gdb) q <--------------------- 退出gdb。

代码托管截图

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/50 2/2 20/20

参考资料

posted @ 2016-09-25 23:13  20145310刘宇飞  阅读(134)  评论(1编辑  收藏  举报