20145228 《信息安全系统设计基础》第二周学习总结
教材学习内容总结
VIM
一 vi的操作模式
vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。
在输入模式下,用户可输入文本资料。
在指令模式下,可进行删除、修改等各种编辑动作。
在输入模式下,按Esc键切换到指令模式下。
在指令模式下,按输入指令(i、a、o等)进入输入模式。
二 进入vi
$ vi filename
直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。
如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。
$ view filename
以只读方式打开文件filename
三 指令模式
3.1 进入输入模式
a 在当前游标之后输入
A 在当前行之末输入
i 在当前游标之前输入
I 在当前行之首输入
o 在当前行之下新增一行,并在新增行输入
O 在当前行之上新增一行,并在新增行输入
输入结束后,按Esc键退出输入模式。
3.2 游标移动
h 向左移动一个字元
l 向右移动一个字元
j 向下移动一个字元
k 向上移动一个字元
b 左移一个单词,至词首
w 右移一个单词,至词尾
0 移到当前行行首
$ 移到当前行行尾
- 移至下一行的行首
- 移至上一行的行首
H 移至视窗的第一行
M 移至视窗的中间一行
L 移至视窗的最后一行
G 移至该文件的最后一行
nG 移至该文档的第n行
n+ 下移n行
n- 上移n行
3.3 视窗移动
3.4 删除操作
x 删除游标所在字元
X 删除游标前一字元
dw 从游标当前位置开始向后删除一个单词
db 从游标当前位置开始向前删除一个单词
d0 从行首删除至当前游标位置
d$ 从游标当前位置删除至行尾
dd 删除游标所在行
D 同d$
3.5 修改操作
s 修改游标所在字元,修改完成后按Esc键结束
S 修改整行内容,修改完成后按Esc键结束
r 替换当前游标所在字元
R 进入替换状态,直至按Esc键结束
cw 修改一个单词(从游标位置至词尾)
cb 修改一个单词(从词首至游标位置)
cc 修改整行内容,完成后按Esc键结束,同S
c0 修改行首至游标位置的内容
- c$ 修改游标位置至行尾的内容
- 游标所在字元大小写切换
3.6 指令重复
在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。常用的重复操作有:
nx 删除n个字元
ndd 删除n行
ns 修改n个字元
3.7 取消前一动作(Undo)
u 撤消上一指令的结果
3.8 查找字符串
/字符串 从当前游标向后查找该字符串
?字符串 从当前游标向前查找该字符串
n 从当前游标向后查找下一个字符串
N 从当前游标向前查找下一个字符串
3.9 查看编辑状况
四 保存与退出
:w 保存,但不退出
:wq 保存并退出
:x 同:wq
:q 退出,如果当前文件没有保存,禁止退出
:q! 不保存退出
:w file1 将内容保存至文件file1中,注意:此时编辑的仍为原文件
:w! file1 将内容覆盖保存至文件file1中,如文件file1存在,:w file1将禁止执行
gcc
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
GDB
•gdb programm(启动GDB)
•b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
•run 开始运行程序
•bt 打印函数调用堆栈
•p 查看变量值
•c 从当前断点继续运行到下一个断点
•n 单步运行
•s 单步运行
•quit 退出GDB
Makefile
文件编写规则:
•目标文件:由make创建,通常是目标文件或可执行文件
•依赖文件:创建目标体所依赖的文件
•运行命令:创建每个目标体时需要的运行命令,必须以tab键开头
•格式为:目标文件:依赖文件列表 [tab键]各目标体运行命令
•使用make的格式:make 目标文件
本周代码托管
感悟
这周主要任务在于gcc、gdb以及能提升编码速度的工具vim,这些也是学习LINUX的基础。能够灵活熟练地应用这些基本方法,我们学习Linux的效率将会飞速提高。这周还温习了上学期的git上传代码托管,发现在Linux上git和在Windows上git方法其实是一样的。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 25篇 | 350小时 | |
第一周 | 0/ 0 | 2/2 | 20/30 | |
第二周 | 100/100 | 1/3 | 20/50 |