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


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

    教材学习内容总结

    Linux系统下的开发环境

    • Teiminal终端(Bash环境)

    • vim编辑器

    • git托管工具

    • gcc,gdb,makefile等编译调试工具

    vi的基本操作

    • vim可以仅仅通过键盘在任意模式之中进行切换,这就使得Vim可以不用进行菜单或者鼠标操作,并且最小化组合键的操作,对文字录入员或者程序员可以大大增强速度和效率。vim有6种基本模式(常用的是普通模式、插入模式和命令行模式):

    • 普通模式(Normal mode):在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。在普通模式中,进入插入模式比较普通的方式是按a(append/追加)键或者i(insert/插入)键。

    • 插入模式(Insert mode):在插入模式中,可以按ESC键回到普通模式。

    • 命令行模式(Command line mode):在命令行模式中,执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。
      Ex模式(Ex mode):这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。

    • 三种常用模式的切换:

    vim启动进入普通模式;

    处于插入模式或命令行模式时只需要按Esc或者Ctrl+[即可进入普通模式;

    普通模式中按i(插入)或a(附加)键都可以进入插入模式;

    普通模式中按:进入命令行模式;

    命令行模式中输入wq回车后保存并退出vim。

    • 游标移动(在普通模式下,按Esc进入普通模式):

    • 进入插入模式(在普通模式下进入):

    • 退出vim(常用):

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

    普通模式下退出vim:普通模式下输入Shift+zz即可保存退出vim

    • 普通模式下删除文本:

    • 替换和撤销(Undo)命令(只针对普通模式):

    • 快速缩进(缩进操作均在普通模式下有效):

    使用命令进行快速调整缩进操作:通模式下输入15G,跳转到15行;普通模式下输入>>整行将向右缩进(使用,用于格式化代码超爽);普通模式下输入<<整行向左回退;普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数。

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

    • 调整文本位置:

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

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

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

    • 查找:

    普通模式下输入/向下查找,输入向上查找,n表示继续查找,N反向查找。

    普通模式下输入*寻找游标所在处的单词

    普通模式下输入#同上,但*是向前(上)找,#则是向后(下)找

    普通模式下输入g**,但部分符合该单词即可

    普通模式下输入g##,但部分符合该单词即可

    GCC

    gcc 编译程序的流程(参数是ESc,文件的后缀是iso):

    预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp,产生预处理过的C原始程序

    编译: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,产生可执行文件

    运行:./hello

    GDB

    • 程序的运行状态有“运行”、“暂停”、“停止“三种

    • 主要基本操作

      查看文件:l

      设置断点:在b后加入相对应的行号。例b 6

      查看断点情况:设置完断点后键入info b,在gdb中可以设置多个断点。bt查询调用函数的情况

      运行代码:默认从首行开始运行代码,键入rr+行号:从该行号开始运行

      查看变量值:p变量。例:p n

      单步运行:nss会进入函数,n不会进入函数

      恢复程序运行:c

      帮助信息:h

    • 断点的设置

      函数:b 文件名.c:函数名

      行:b 行数

      条件:b 行数 if 表达式(例如:b 9 if == 12

      临时:tb [文件名:]行号或函数名 <条件表达式>

    Makefile

    • Makefile的一般写法

        test(目标文件): prog.o code.o(依赖文件列表)
      
        tab(至少一个tab的位置) gcc prog.o code.o -o test(命令)
      
    • 使用带宏的 Makefile

    Makefile还可以定义和使用宏(也称做变量),从而使其更加自动化,更加灵活,在Makefile中定义宏的格式为:macroname = macrotext 使用宏的格式为:$(macroname)

    本周代码托管截图

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

    认真学习,希望逐渐找到状态。

    本周代码托管截图

    参考资料

  • 相关阅读:
    ExtJS4 动态生成grid出口excel(纯粹的接待)
    oracle10g获得Date类型字段无分,秒的解决方案!
    ubuntu13.10 下一个 g++和gcc 4.8不兼容的问题不能被安装
    简单的导航
    Duanxx的C++学习 : 数字转换String
    图widget--jqplot样品和参数描述的简单演示
    m_Orchestrate learning system---三十、项目中的dist文件一般是做什么的
    开放windows服务器端口-----以打开端口8080为例
    phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)
    双向绑定的具体应用场景有哪些
  • 原文地址:https://www.cnblogs.com/zy1111/p/5907631.html
Copyright © 2020-2023  润新知