zoukankan      html  css  js  c++  java
  • 20144303 《信息安全系统设计基础》第二周学习总结

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

    教材学习内容总结

    vim:

    vim键盘图:

    光标移动:

    • h-←,j-↓,k-↑,l-→,方向键也可以控制相应的光标移动方向;
    • w-移动到下一个单词,b-移动到上一个单词。
    • [[ 转到上一个位于第一列的"{";
    • ]] 转到下一个位于第一列的"{";
    • { 转到上一个空行;
    • } 转到下一个空行

    插入模式:

    • i 在当前光标处进行编辑
    • I 在行首插入
    • A 在行末插入
    • a 在光标后插入编辑
    • o 在当前行后插入一个新行
    • O 在当前行前插入一个新行
    • cw 替换从光标所在位置后到一个单词结尾的字符

    保存和退出vim:

    • w 保存文档
    • :q! 强制退出,不保存
    • :q 退出
    • :wq! 强制保存并退出
    • :w <文件路径> 另存为
    • :saveas 文件路径 另存为
    • :x 保存并退出
    • :wq 保存并退出

    删除文本:

    • x 删除游标所在的字符
    • X 删除游标所在前一个字符
    • Delete 同x
    • dd 删除整行
    • dw 删除一个单词(不适用中文)
    • d$或D 删除至行尾
    • d^ 删除至行首
    • dG 删除到文档结尾处
    • d1G删至文档首部

    行内跳转:

    • w 到下一个单词的开头
    • e 到下一个单词的结尾
    • b 到前一个单词的开头
    • ge 到前一个单词的结尾
    • 0或^ 到行头
    • $ 到行尾
    • f<字母> 向后搜索该字母并跳转到第一个匹配的位置
    • F<字母> 向前搜索该字母并跳转到第一个匹配的位置

    复制粘贴和剪切:

    • 普通模式中,yy复制游标所在的整行(3yy表示复制3行)
    • 普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。
    • 普通模式中,y$ 复制至行尾。含光所在处字符。
    • 普通模式中,yw 复制一个单词。
    • 普通模式中,y2w 复制两个单词。
    • 普通模式中,yG 复制至文本末。
    • 普通模式中,y1G 复制至文本开头。
    • 普通模式中使用p粘贴
    • 普通模式中,p(小写)代表粘贴至光标后(下)
    • 普通模式中,P(大写)代表粘贴至光标前(上)

    查找替换:

    • r+<待替换字母> 将游标所在字母替换为指定字母
    • R 连续替换,知道按下ESC
    • cc 替换整行,即删除游标所在行,并进入插入模式
    • cw 替换一个单词,即删除一个单词,并进入插入模式
    • C 替换游标以后至行末
    • ~ 翻转游标所在字母的大小写
    • u{n} 撤销一个或n次操作
    • U 撤销当前所有的修改
    • 快速查找:普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找
    • 高级查找:
    • 普通模式下输入*寻找游标所在处的单词
    • 普通模式下输入#同上,但 * 是向前(上)找,#则是向后(下)找
    • 普通模式下输入g*同* ,但部分符合该单词即可
    • 普通模式下输入g#同# ,但部分符合该单词即可

    视窗操作:

    • 命令行模式下输入:sp 1.txt 打开新的横向视窗来编辑1.txt
    • 命令行模式下输入:vsp 2.txt 打开新的纵向视窗来编辑1.txt
    • 普通模式下Ctrl-w s 将当前窗口分割成两个水平的窗口
    • 普通模式下Ctrl-w v 将当前窗口分割成两个垂直的窗口
    • 普通模式下Ctrl-w q 即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q!
    • 普通模式下Ctrl-w o 打开一个视窗并且隐藏之前的所有视窗
    • 普通模式下Ctrl-w j 移至下面视窗
    • 普通模式下Ctrl-w k 移至上面视窗
    • 普通模式下Ctrl-w h 移至左边视窗
    • 普通模式下Ctrl-w l 移至右边视窗
    • 普通模式下Ctrl-w J 将当前视窗移至下面
    • 普通模式下Ctrl-w K 将当前视窗移至上面
    • 普通模式下Ctrl-w H 将当前视窗移至左边
    • 普通模式下Ctrl-w L 将当前视窗移至右边
    • 普通模式下Ctrl-w 减小视窗的高度
    • 普通模式下Ctrl-w + 增加视窗的高度

    gcc:

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

    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

    用gcc编译一个经典的c程序:

    gdb:

    • gdb programm(启动GDB)
    • b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
    • run 开始运行程序
    • bt 打印函数调用堆栈
    • p 查看变量值
    • c 从当前断点继续运行到下一个断点
    • n 单步运行
    • s 单步运行
    • quit 退出GDB

    熟悉gdb的操作:

    Makefile 使用:

    • make工具最主要也是最基本的功能就是根据makefile文件中描述的源程序至今的相互关系来完成自动编译、维护多个源文件工程。而makefile文件需要按某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,要求定义源文件之间的依赖关系

    • 之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头(初学者务必注意:是tab,而不是空格),执行以上Makefile后就会自动化编译

    • 一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:

      一个目标,即make最终需要创建的文件,如可执行文件和目标文件;

      目标也可以是要执行的动作,如‘clean’;

      一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。

    学习中遇到的问题及解决过程:

    问:在使用“x”删除光标所在位置的字符时,错删了字符,不会撤回。

    答:使用u键可以撤销。

    问:GDB的n(next)命令让GDB执行下一行,然后暂停。 s(step)命令的作用与此类似,只是在函数调用时step命令会进入函数,那么实际使用中应该优先选用哪个?为什么?

    答:next是单步跟踪程序,当遇到函数调用时,也不进入此函数体;而step遇到用户自定义的函数,将步进到函数中去运行,而 next 则直接调用函数,不会进入到函数体内。

    Step命令,如果step命令将要运行的源代码行上有函数调用,那么step命令将导致GDB进入到被调用函数的内部。

    (都是通过百度解决的)

    本周代码托管截图

    学习进度条

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

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

    这周学习任务较多,还没有完全消化理解。vim的学习过程,让我更加深刻体会到了什么叫“做中学”,那么多的命令符号,通过游戏式的学习,就能轻松理解、掌握,整个学习过程也没有感觉到丝毫的疲惫,学习效率极高。希望以后能有更多这样的学习机会。

  • 相关阅读:
    Mysql中的递归查询
    让git忽略对已经版本控制的文件的本地修改
    关于c#中逆变和协变的理解
    把之前的相关博客都迁到了博客园~
    结合github pages使用travis CI
    Spring中的Filter、HandlerInterceptor和AOP
    HDU1711 Number Sequence 题解 KMP算法
    HDU1358 Period 题解 KMP算法
    HDU1686 Oulipo 题解 KMP算法
    HDU3336 Count the string 题解 KMP算法
  • 原文地址:https://www.cnblogs.com/20144303sys/p/5907506.html
Copyright © 2011-2022 走看看