20135234mqy-——信息安全系统设计基础第二周学习总结
Linux基础
1.Linux命令
command [options] [arguments]
//中括号代表是可选的,即有些命令不需要选项也不需要参数 选项(options)或参数(arguments)
选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同。
参数是指命令的作用对象。
2. man命令
man是manul的缩写 帮助文档
3.cheat 命令
cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。
它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。
4.其他核心命令
find查找一个文件在系统中的什么位置,locate是神速版本的find
grep 可以对文件全文检索,支持正则表达式,
whereis,which告诉你使用的命令工具装在什么地方。
Linux下C语言编程基础
VIM是文本编辑器
大写“K”可以用来查找函数的帮助信息:
查看 man page,命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。
几个设置:
:set nu 显示行号
:set ai 自动缩行
:set ts=4 设置一个 TAB 键等于几个空格
移动光标:
[[ 转到上一个位于第一列的"{"
]] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行
gd 转到当前光标所指的局部变量的定义
GCC:
(1)预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
(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
Vim模式:
普通模式
插入模式
可视模式
选择模式
命令行模式
Ex模式
命令行模式
插入模式
底行模式
vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc
或者Ctrl+[
(这在vim课程环境中不管用)即可进入普通模式。普通模式中按i
(插入)或a
(附加)键都可以进入插入模式,普通模式中按:
进入命令行模式。命令行模式中输入wq
回车后保存并退出vim。
Vim操作:
1.普通模式:
按键 说明
h 左
l 右(小写L)
j 下
k 上
w 移动到下一个单词
b 移动到上一个单词
2.插入模式:
命令 说明
i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符
命令行模式下保存文档:
从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下
3.退出vim:
1.命令行模式下退出vim:
从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑
以下为其它几种退出方式:
命令 说明
:q! 强制退出,不保存
:q 退出
:wq! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出
2.普通模式下退出vim:
普通模式下输入Shift+zz即可保存退出vim
4.删除文本:
1.普通模式下删除vim文本信息:
进入普通模式,使用下列命令可以进行文本快速删除:
命令 说明
x 删除游标所在的字符
X 删除游标所在前一个字符
Delete 同x
dd 删除整行
dw 删除一个单词(不适用中文)
d$或D 删除至行尾
d^ 删除至行首
dG 删除到文档结尾处
d1G 删至文档首部
在命令之前加上数字,表示一次删除多行
《深入理解计算机》知识点总结:
计算机系统由硬件和软件系统组成
程序被其他程序翻译成不同的形式,开始时ASCII文本,然后被编译器和链接器翻译成二进制可执行文件
系统中的存储设备划分为层次结构:CPU存储器在顶部,接着是多层的硬件高速缓存存储器,DRAM主存和磁盘存储器
操作系统内核是应用程序和硬件之间的媒介。它提供三个基本抽象:
(1)文件是对I/O设备的抽象
(2)虚拟存储器是对主存和磁盘的抽象
(3)进程是对处理器,主存和I/O设备的抽象
链接可以在编译时由静态编译器完成,也可由在加载时和运行时由动态链接器完成。
链接器处理称为目标文件的二进制文件,其有三种不同形式:(1)可重定位的(2)可执行的(3)共享的
链接器主要任务:(1)符号解析(2)重定位
符号解析:将目标文件中的每个全局符号都绑定到一个唯一的定义
重定位:确定每个符号的最终存储器地址,并修改对那些目标的应用
静态链接器由GCC类似编译取驱动器调用,他们将多个可重目标文件合并成一个单独的可执行目标文件
多个目标文件可以被连接到一个单的的静态库中。链接器用库来解析其他目标模块中的符号引用
加载器可将可执行文件的内容映射到存储器,并运行这个程序。链接器还能生成部分连接的可执行目标文件,这样的文件中有对定义在共享库中的程序和数据和数据的未解析的引用。