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

编辑器(vim)

一·完成对所录入文字的编辑功能,最常用的是vi(vim)和emacs

二·vi的三种模式及用法

1.命令行模式:最初进入的默认模式,可上下移动光标进行删除字符或整行删除,也可进行复制粘贴,但无法编辑。

2.插入模式:可以编辑,按[Esc]键回到命令行模式。

3.底行模式:可以进行保存或退出,或设置编辑环境。

三·vim教程总结

:q!会舍弃所做的任何改动;

按下A以启用编辑,按下esc退出;

光标放在欲删除的单词处,按下dw可以删除单词;c$可以删除到行末;输入d$,删除从当前光标到文末;数字+dd,删除几行;

w,表示向前移动几个单词(不含该单词),而e表示移动到前面第几个单词(含本词);

按下p将最后一次删除的内容插入到光标所在位置的上方;

输入r和一个字符,替换光标所在位置的字符;

输入cw或者ce之后,可以改变单词直到单词末尾(ce是把光标所在的位置上的单词也删除);

Ctrl +g可以查询当前行,用G跳到文末或者gg跳到文首之后,输入行号+G就可以返回;

/后输入字符即可查找,按下n进行下一次查找;光标放在某{,(,[处,按下%可以查找配对的另一半乎可以输;

:s/old/new/g可以将整行中的单词进行替换;:%s/old/new/g可以将整个文档中的单词进行替换;

:!后加上外部命令,即在vim中执行外部命令; 按下v后,就可以选中部分文本了;:r FILENAME就可将文本内容粘贴到光标方;

输入大写的O,将在光标上方打开一行并进入插入模式,输入小写的o,将在光标下方打开一行并进入插入模式;

输入a可在光标之后插入;按下R后,就可以连续替换多个字符;按下v后,可以在高光状态下选中文本,然后按下y复制,按下p粘贴;也可以直接在正常状态下按yw选中一个单词;在:set hls is之后,输入/单词 可以显示出文件中所有的待查找单词;

:set ic之后,则不区分查找的大小写;

按下tab键可以补全文件名。

编译链接器(gcc)

指源代码转化成生成可执行代码的过程,最常用的编译器是gcc。

gcc的编译流程

预处理阶段:头文件和宏定义,—E可以让gcc在预处理结束之后停止编译过程,因此可以看到预处理的过程。

一般格式为:gcc [选项] 要编译的文件 [选项] 目标文件 gcc -E hello.c -o hello.i

编译阶段:gcc将代码翻译成汇编语言,使用选项-S只进行编译而不进行汇编,结果生成汇编代码。gcc -S hello.i -o hello.s

汇编阶段:将.s文件转成目标文件,使用选项-c可以看到汇编代码转换为二进制目标代码。gcc -c hello.s -o hello.o

链接阶段:默认搜索链接到libc.so.6函数库当中,调用库文件中已经实现的函数。

gcc编译选项分析:常用选项 -I dir :在头文件的搜索路径列表中添加dir目录,当用户希望添加放置在非默认位置的头文件时可以通过该选项来指定。

用gcc编译

编译链接器(gdb)

一·gdb调试器,可方便的设置断点、单步跟踪。

二·gdb的使用流程

1.查看文件:键入l(list)查看所载入的文件。

2.设置断点:

按行设置断点:b+对应行号即可,可设置多个断点,运行到设置断点的一行程序会自动停止。

函数断点:按函数设置断点只需把函数名列在命令“b”之后。

条件断点:b 行数或函数名 if 表达式。

3.查看断点情况:info b,在断点键入bt可查到调用函数(堆栈)的情况。

4.运行代码:r+行号可从指定行开始运行代码,默认从头执行。

5.查看变量值:p+变量值即可。

6.单步运行。

7.恢复程序运行。

教材学习中的知识总结

第一章

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

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

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

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

5.文件就是字节序列。

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

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

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

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

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

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

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

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

11.网络提供了计算机系统之间通信的手段。

第七章

1.静态链接器主要任务:符号解析、重定位。

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

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

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

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

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

vim的使用技巧

打开终端输入 vim + 你想要打开的文件名(可以不存在)

按Esc进入普通模式

使用方向键或者h(左),j(下),k(上),l(右)键可以移动光标

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

保存与退出:(:wq 保存并退出) (:q 退出) (:q! 强制退出,不保存) (:wq! 强制保存并退出)

删除:x 删除游标所在的字符 X 删除游标所在前一个字符 dd 删除整行 dw 从当前光标删除至下一个单词 d$ 从当前光标删除至行尾 2dd 删除2行

撤销:u 撤销以前操作 U 撤销在一行中所做改动 Ctrl+R 撤销以前撤销的命令

% 光标移到到相应匹配的括号

进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数

如何调整文本位置:1、:ce(center)命令使本行内容居中 2、:ri(right)命令使本行文本靠右 3、:le(left)命令使本行内容靠左!可执行外部shell命令

时间: 2025-01-13 12:41:39

20145339《信息安全系统设计基础》第2周学习总结的相关文章

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

20145339顿珠达杰<信息安全系统设计基础>第一周学习总结 ◆ Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]-[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换.普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

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

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

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

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

2017-2018-1 20155228 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155332 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 简单模型中,存储器是一个线性的字节数组.真实模型中,是一个具有不同容量,成本,访问时间的存储层次结构(存储器山) 程序的局部性很重要,对程序性能有很重要的影响. 计算机系统一个基本而持久的思想,如果你理解了系统是如何将数据在存储器层级结构中上下移动,你就可以编写程序,让数据存储在层次结构中较高的地方,从而CPU可以更快的访问到他们. 编写程序实现功能是最简单的,如何让编写的程序拥有最高的性能,例

2017-2018-1 20155227 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155227 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 第六章 随机访问存储器 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多. (1)静态RAM SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的. 属性:它可以无限制地保持在两个不同的电压配置或状态之一.其他任何状态都是不稳定的. 特点:由于SRAM的双稳态特性,只要有电,它就会永

2017-2018-1 20155334 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155334 <信息安全系统设计基础>第九周学习总结 学习目标: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 教材学习内容总结 一.常见的存储技术: 基本的存储技术包括随机存储器(RAM).非易失性存储器(ROM)和磁盘. 1. RAM分静态RAM(SRAM)和动态RAM(DRAM). 2. SRAM快些,主要用做CPU芯片上的高速缓存,也可以用作芯片下的

2017-2018-1 20155331 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155331 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器层次结构 存储技术 随机访问存储器 随机访问存储器分为:静态的SRAM.动态的DRAM 静态RAM: SRAM的特点:存储器单元具有双稳态特性,只要有电就会永远保持它的值,干扰消除时,电路就会恢复到稳定值. 动态RAM: DRAM的特点:每一位的存储是对一个电容的充电:对干扰非常敏感. 用途:数码照相机和摄像机的传感器 DRAM存储不稳定的应对机制: 存储器系统必须周期性地通过读出,或者重