您的位置:首页 > 其它

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

2016-09-25 02:09 274 查看

20145229吴姗珊 《信息安全系统设计基础》第2周学习总结

教材学习内容总结

1.vim

普通模式

可用i或者a进入插入模式

插入模式

大多数按键在此模式下会向文本缓冲中插入文本 可用ESC进行退出

可视模式

与普通模式相似的高亮模式

选择模式

命令行模式

可以通过输入文本如:/ 执行命令

EX模式

可以一次执行多条命令

三种模式的切换

vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc或者Ctrl+[(这在vim课程环境中不管用)即可进入普通模式。普通模式中按i(插入)或a(附加)键都可以进入插入模式,普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim



进入vim

1.使用vim命令进入vim界面



2.游标移动

在进入vim后,按下i键进入插入模式



3.进入插入模式



4.退出vim

从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑



2.vim文档编辑

重复执行上次命令

拷贝测试文件到本地目录,打开文件进行编辑,当输入x即删除第一个字母,再输入x时即再删除一个字母,用法与dd相似



执行指定次数相同的命令

进入普通模式输入N,N表示重复后面的次数,跟上一条相似的进行命令比如删除。在普通模式下,你还可以使用dw或者daw(delete a word)删除一个单词,所以你可以很容易的联想到dnw(n替换为相应数字)表示删除n个单词

游标的快速跳转



当完成依次跳转后,可以使用Ctrl+o快速回到上一次(跳转前)光标所在位置



实验楼练习可将光标移至最末一行 或者ng



复制粘贴和剪切

普通模式中使用y复制

普通模式中,yy复制游标所在的整行(3yy表示复制3行)

普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。

普通模式中,y$ 复制至行尾。含光所在处字符。

普通模式中,yw 复制一个单词。

普通模式中,y2w 复制两个单词。

普通模式中,yG 复制至文本末。

普通模式中,y1G 复制至文本开头。

普通模式中使用p粘贴

普通模式中,p(小写)代表粘贴至光标后(下)

普通模式中,P(大写)代表粘贴至光标前(上)

通过实验楼练习会发现一些小技巧,如dd为删除,而P则为复制,则ddp即为复制粘贴了

3.查找替换

字符的替换及撤销



-普通模式下输入15G,跳转到15行

普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)

普通模式下输入<< 整行向左回退

普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数

shiftwidth命令

shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw) 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值

调整文本位置

命令行模式下输入:ce(center)命令使本行内容居中

命令行模式下输入:ri(right)命令使本行文本靠右

命令行模式下输入:le(left)命令使本行内容靠左

查找

普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找

普通模式下输入/icmp查找字符串icmp

普通模式下输入n查找下一个icmp

普通模式下输入?tcp向上查找字符串tcp

普通模式下输入N查找上一个出现的tcp

4.GCC

预处理: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

注意:编译时要加“-g”参数(参数连起来是“ESc”,相应输入的文件的后缀是“iso”)

gcc预处理源文件的时候(第一步),不会进行语法错误的检查,语法检查会在第二步进行。

gcc hello.c -o hello--- 第二个hello为文件名。

大致流程:首先gcc会调用预处理程序cpp,由它负责展开在源程序中定义的宏.hello.i这是一个经过预处理器处理之后的C源文件

实验楼里下载了学习的代码





5.GDB

gdb programm(启动GDB)

b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)

run 开始运行程序

bt 打印函数调用堆栈

p 查看变量值

c 从当前断点继续运行到下一个断点

n 单步运行

s 单步运行

quit 退出GDB

教材学习中的问题和解决过程



在第一次的vim敲代码编译过程中,总是出现无法找到该文件,后发现在插入模式中输入代码需推出插入模式进入普通模式,shift+zz进行保存,后才可以进行编译

本周代码托管截图

















其他(感悟、思考等,可选)

这周的学习任务跟上周的不一样,上周的主要是一些简单的命令输入,而这周的学习要用到陌生的vim编辑器,说实话快捷键的设定真有些不符常理,不过经常使用应该就习惯了,让我觉得非常便利的一点即是再查找、删除上可以直接进行到某一行,用起来十分方便。在后面的学会用vim编代码使用gdb进行调试比较复杂,过程中经历了百度以及询问同学,这一周的内容十分扎实也让我学到了很多,只是在代码的上传git上又要使用到上学期的知识,有一句老话,温故而知新,在以后的学习中应该经常温习以前的内容,特别是元知识,对后面的学习有着很大的帮助。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/02/217/17
第二周300/3003/315/15

参考资料

《深入理解计算机系统V2》学习指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: