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


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

    教材学习内容总结

    vim编辑器

    常用的三种模式:

    • 普通模式(Normal mode)
    • 插入模式(Insert mode)
    • 命令行模式(Command line mode)

    三种常用模式的切换

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

    一些常用指令

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

    按键说明
    h
    l
    j
    k
    w 移动到下一个单词
    b 移动到上一个单词

    • 进入插入模式(在普通模式下进入):
    命令说明
    i 在当前光标处进行编辑
    I 在行首插入
    A 在行末插入
    a 在光标后插入编辑
    o 在当前行后插入一个新行
    O 在当前行前插入一个新行
    cw 替换从光标所在位置后到一个单词结尾的字符
    • 命令行模式下保存文档:从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下。

    • 退出vim(常用):
      1. 命令行模式下退出vim:从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑。
      2. 普通模式下退出vim:普通模式下输入shift+zz即可保存退出vim

    安装完成的vim:

    键入vimtutor命令可以进行一个vim练习程序:

    一些vim常用命令的练习:

    GCC:

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

    1. 预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp,产生预处理过的C原始程序
    2. 编译:gcc –S hello.i –o hello.s;gcc –S调用ccl,产生汇编语言原始程序
    3. 汇编:gcc –c hello.s –o hello.o;gcc -c调用as,产生目标文件
    4. 链接:gcc hello.o –o hello;gcc -o调用ld,产生可执行文件
    5. 运行:./hello

    GDB:

    • 程序的运行状态有“运行”、“暂停”、“停止“三种。
    • 主要操作:
      1. 查看文件:l
      2. 设置断点:在b后加入相对应的行号。例b 6
      3. 查看断点情况:设置完断点后键入info b,在gdb中可以设置多个断点。bt查询调用函数的情况
      4. 运行代码:默认从首行开始运行代码,键入rr+行号:从该行号开始运行
      5. 查看变量值:p变量。例:p n
      6. 单步运行:nss会进入函数,n不会进入函数
      7. 恢复程序运行:c
      8. 帮助信息:h
    • 断点的设置:
      1. 函数:b 文件名.c:函数名
      2. 行:b 行数
      3. 条件:b 行数 if 表达式(例如:b 9 if == 12)
      4. 临时:tb [文件名:]行号或函数名 <条件表达式>

    GCC、GDB的使用(以helloworld为例):

    首先建立一个名为linuxC的文件夹:

    建立一个文本文档:

    在vim里撰写C语言代码:

    用cat指令查看写好的代码:

    检查gdb是否安装好:

    尝试使用gdb命令并运行程序:

    Makefile:

    • 一个工程中的源文件不计其数,按其类型、功能、模块分别放在若干个目录中。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。其带来的好处就是——“自动化编译”,一但写好,只需要一个make命令,整个工程完全编译,极大的提高了软件的开发效率。
    • makefile文件编写规则:
      1. 目标文件:由make创建,通常是目标文件或可执行文件
      2. 依赖文件:创建目标体所依赖的文件
      3. 运行命令:创建每个目标体时需要的运行命令,必须以tab键开头
      4. 格式为:目标文件:依赖文件列表 [tab键]各目标体运行命令(注意不是空格)
      5. 使用make的格式:make 目标文件

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

    安装vim时遇到了如下问题:

    查了百度百科后找到了解决办法:

    小技巧

          刚安装的VIM,可能界面并不是十分友好,这就需要我们去更改vim的配置文件,我们可以按我们的需求去修改它。

    在命令行下,输入命令:

    sudo vim /etc/vim/vimrc

    必须加上sudo,否则你是没有权限编辑vimrc的。

    然后找到这几行语句:

    syntax on

    意思是语法高亮,如果您的被注释掉了,请“让它出来”。

    除此之外还有一些可以让vim界面看起来更舒服方便的指令:

    在vim的最后一行输入他们:

    set nu                           // 在左侧行号
    set tabstop                  //tab 长度设置为 4
    set nobackup               //覆盖文件时不备份
    set cursorline               //突出显示当前行
    set ruler                       //在右下角显示光标位置的状态行
    set autoindent             //自动缩进

    本周代码托管截图

     

    其他

    这周末因为天气原因没有外出,所以一心一意的在宿舍学linux,第一次基本上把老师要求的学习任务都过了一遍,学到东西的感觉很好,连博客都有的写了,继续努力!

    不过vim编辑器指令太多太繁琐,其实感觉有些快捷键是挺多余的,不过存在即合理,可能在今后不断的练习中才能发觉它们的方便之处吧。

    学习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 5000行 30篇 400小时  
    第一周 0/0 1/2 25/45 学习了几个Linux核心命令
    第二周 55/55 2/4 27/72  

    参考资料

  • 相关阅读:
    python学习笔记(二十三)私有方法和私有属性
    python学习笔记(二十二)实例变量、实例方法、类变量、类方法、属性方法、静态方法
    python学习笔记(二十一)构造函数和析构函数
    python学习笔记(二十)初识面向对象
    大型网站系统架构的演化
    订单系统中并发问题和锁机制的探讨
    利用log4j+mongodb实现分布式系统中日志统一管理
    怎样编写高质量的java代码
    十五分钟学会用Hessian
    Apache Mina实战
  • 原文地址:https://www.cnblogs.com/dwc929210354/p/5907096.html
Copyright © 2020-2023  润新知