zoukankan      html  css  js  c++  java
  • 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 视窗移动

    + f 视窗下卷一页

    + b 视窗上卷一页

    + d 视窗下卷半页

    + u 视窗上卷半页

    + e 视窗下卷一行

    + y 视窗上卷一行

    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 查看编辑状况

    + g 显示正在编辑的文件名、当前游标所在行数、文件总行数、文件是否被修改

    四 保存与退出

    :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

    参考资料

  • 相关阅读:
    code vs 1029 遍历问题 区间dp
    UVA 10891 Game of Sum 区间dp
    UVA 10635 Prince and Princess 最长公共子序列(nlongn)
    Codeforces Round #301 (Div. 2) D 概率DP
    LightOJ 1422 区间dp
    poj 1651 区间dp
    使用log4net+IExceptionFilter+Server酱完成异常日志信息推送
    MVC基础之控制器常见返回类型
    .NET Core中的IoC和DI
    使用Layui前端框架完成简单的增删改查
  • 原文地址:https://www.cnblogs.com/J000/p/5907114.html
Copyright © 2011-2022 走看看