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


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

    教材学习内容总结

    教材第一章
    信息就是位+上下文,系统中所有信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网上传送的数据,都是由一串位表示的,区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。ASCII字符构成的文件是文本文件,所有其他文件都是二进制文件。

    Hello程序的生命周期从高级C语言程序开始,每条C语句被转化为一系列“低级机器语言”指令,然后这些指令按照“可执行目标程序”的格式打包,并以二进制磁盘文件的形式存放起来,目标程序也称为“可执行目标文件”。

    源文件到目标文件的转化由编译器驱动程序完成,unix> gcc -o hello hello.c 这里GCC编译器驱动程序读取源文件并把它翻译成一个可执行目标文件。翻译过程分为四个阶段:预处理、编译、汇编、链接,预处理器、编译器、汇编器、链接器一起构成编译系统。

    系统的硬件组成:总线、I/O设备、内存、处理器

    文件就是字节序列

    并发:一个同时具有多个活动的系统。并行:用并发使一个系统运行地更快,并行可以在计算机系统多个抽象层次上运用。按照系统层次结构由高到低的顺序强调三个层次:线程级并发、指令级并行、单指令多数据并行

    在处理器里,指令集结构提供了对实际处理器硬件的抽象

    计算机系统是由硬件和系统软件组成的,程序被其他程序翻译成不同的形式,开始时是ASCII文本,然后被编译器和链接器翻译成二进制可执行文件

    处理器读取并解释存放在主存里的二进制指令

    操作系统内核是应用程序和硬件之间的媒介,提供三个基本的抽象:

    ①文件是对I/O设备的抽象

    ②虚拟存储器是对主存和磁盘的抽象

    ③进程是对处理器、主存和I/O设备的抽象

    网络提供了计算机系统之间通信的手段
    教材第七章:链接
    1.静态链接器主要任务:符号解析、重定位

    2.目标文件形式:可重定位目标文件、可执行目标文件、共享目标文件

    3.每个可重定位目标模块m都有一个符号表,它包含m所定义和引用的符号的信息。有三种不同的符号:

    ①由m定义并能被其他模块引用的全局符号

    ②由其他模块定义并被模块m引用的全局符号

    ③只被模块m定义和引用的本地符号

    vim编辑器
    Vim的6种基本模式:
    Vim具有6种基本模式和5种派生模式

    普通模式(Normal mode)

    Vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。
    在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。
    插入模式(Insert mode)

    在这个模式中,大多数按键都会向文本缓冲中插入文本。在插入模式中,可以按ESC键回到普通模式。
    可视模式(Visual mode)

    这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的"文本对象"也能和移动命令一样用在这个模式中。
    选择模式(Select mode)

    这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。
    命令行模式(Command line mode)

    在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。
    Ex模式(Ex mode)

    这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。
    游标移动
    在进入vim后,按下i键进入插入模式。在该模式下您可以输入文本信息,下面请输入如下三行信息:

    插入模式
    在普通模式下使用下面的键将进入插入模式,并可以从相应的位置开始输入

    保存文档
    从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下

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

    -普通模式下退出vim

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

    删除文本
    普通模式下删除vim文本信息

    vim重复命令
    重复执行上次命令
    在普通模式下.(小数点)表示重复上一次的命令操作;普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作

    执行指定次数相同的命令
    输入10x,删除10个连续字符
    输入3dd,将会删除3行文本

    游标的快速跳转
    行间跳转

    行内跳转

    复制粘贴和剪切
    复制及粘贴文本
    普通模式中使用y复制

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

    剪切及粘贴
    其实前面讲得dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴。

    查找替换
    替换和撤销(Undo)命令
    替换和Undo命令都是针对普通模式下的操作

    输入11G,跳转到11行
    输入fa跳转到第一个a字符
    输入r,并且输入b,a字符被b字符替换(实用)
    输入R替换字符,输入新字符串,输入完按ESC回到普通模式(实用)
    输入cc替换整行字符,输入新字符串,输入完按ESC回到普通模式
    输入cw 替换一个英文字(word),输入完按ESC回到普通模式(实用)
    输入~,翻转游标所在字符的大小写
    输入C 替换至行尾,即游标所在处以后的字都会被替换,输入完按ESC回到普通模式
    输入u 撤销上一次的操作
    快速缩进
    使用命令进行快速调整缩进操作

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

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

    调整文本位置

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

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

    命令行模式下输入:le(left)命令使本行内容靠左
    查找
    快速查找
    普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找

    高级查找

    普通模式下输入*寻找游标所在处的单词
    普通模式下输入#同上,但 * 是向前(上)找,#则是向后(下)找
    普通模式下输入g*同* ,但部分符合该单词即可
    普通模式下输入g#同# ,但部分符合该单词即可
    多文件编辑
    使用vim编辑多个文件
    命令行模式下输入:n编辑2.txt文件,可以加!即:n!强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件

    命令行模式下输入:N编辑1.txt文件,可以加!即:N!强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件

    进入vim后打开新文件

    命令行模式下输入:e 3.txt 打开新文件3.txt
    命令行模式下输入:e# 回到前一个文件
    命令行模式下输入:ls可以列出以前编辑过的文档
    命令行模式下输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑
    命令行模式下输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目
    命令行模式下输入:e! 4.txt,新打开文件4.txt,放弃正在编辑的文件
    命令行模式下输入:f 显示正在编辑的文件名
    命令行模式下输入:f new.txt,改变正在编辑的文件名字为new.txt
    恢复文件

    如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover 1.txt来恢复

    可视模式
    可视模式命令简介

    在普通模式下输入v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v会后就会取消选取。
    在普通模式下输入Shift+v(小写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次Shift+v就可以取消选取。
    在普通模式下输入 Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次Ctrl+v取消选取。
    在普通模式下输入d删除选取区域内容
    在普通模式下输入y复制选取区域内容
    视窗操作
    命令行模式下输入: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 + 增加视窗的高度
    在vim执行外部命令
    在命令行模式中输入!可以执行外部的shell命令

    :!ls 用于显示当前目录的内容
    :!rm FILENAME用于删除名为 FILENAME 的文件
    :w FILENAME可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件
    GCC的使用
    编译器gcc的使用
    gcc 支持编译的一些源文件后缀名

    gcc 编译程序的流程

    用 gcc 编译一个经典 C 程序

    gcc 到底背着我们做了什么
    第一步,在Xfce终端中输入

    $ gcc -E hello.c -o hello.i

    hello.i这是一个经过预处理器处理之后的C源文件,在bash试试这个命令,然后用vim打开它。

    gcc的-E参数可以让gcc在预处理结束后停止编译过程。

    第二步,将hello.i编译为目标代码,gcc默认将.i文件看成是预处理后的C语言源代码,因此它会直接跳过预处理,开始编译过程。

    $ gcc -c hello.i -o hello.o

    第三步,gcc连接器将目标文件链接为一个可执行文件,一个大致的编译流程结束

    gcc hello.o -o hello

    gcc 编译模块化的程序

    gdb的使用
    gdb是GNU开发组织发布的一个强大的UNIX/Linux下的程序调试工具。

    Makefile 使用

    心得体会

    这周学习了Vim、GDB、Makefile。Vim编辑器就改变了我们的老习惯,比如上下左右移动用的是hjkl而不是我们的鼠标点击以及键盘的方向键。感觉只有多多联系才

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 2000行 20篇 400小时
    第一周 2/2 20/20 初步了解了Linux的一些基本命令
    第二周 1/3 15/35 了解了vim编辑器

    参考资料

  • 相关阅读:
    Python单元测试unittest加载方式之二:加载测试套件
    Python单元测试unittest加载方式之二:加载测试套件
    Python单元测试unittest加载方式之一:unittestmain()启动单元测试模块
    和优秀的人相处
    耐心和恒心
    ubuntu下FTP文件目录共享
    一个不错的编译调试方法
    qt 程序异常崩溃
    minigui SetTimer(hwnd, id, speed)
    minigui 按钮点击弹窗外部 弹窗消失功能 WS_EX_TRANSPARENT
  • 原文地址:https://www.cnblogs.com/hxf5220/p/5907252.html
Copyright © 2020-2023  润新知