信息安全系统设计基础第二周学习总结(一)
Linux下C语言编程基础实验报告
学习任务 |
1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用gdb调试技术 6. 熟悉makefile基本原理及语法规范 7. 掌握静态库和动态库的生成 |
||||||
学习内容 |
1. 快捷键 2. vim 3. gcc 4. gdb 5. make与makefile |
||||||
学习过程记录 |
第一部分第一讲第一节:移动光标H左、j下、k上、l右 第一讲第二节:VIM的进入和退出<ESC>键:确保处在正常模式 :q!退出编辑器(丢弃改动) 第一讲第三节:文本编辑之删除X键;删除光标所在位置的字符。 第一讲第四节:文本编辑之插入i键:在光标处插入文本。 第一讲第五节:文本编辑之添加A键:行末添加文本。 第一讲第六节:编辑文件使用一个可以改动的文件(进入vim编辑器):shell中输入:vim tutor<回车> Vim:启动vim编辑器;tutor:希望编辑的文件的名字 wq<回车>:保存退出 第二讲第一节:删除类命令dw:删除光标所在的单词 第二讲第二节:更多删除命令S$:从光标处删至当前行尾。(从当前位置之后整行) 第二讲第三节:关于命令和对象
第二讲第四节:使用计数指定动作在动作前加入数字使它重复那么多次 如:2w(光标向前移动两个单词)、3e(光标向前移动到第三个单词的末尾)、0(移动光标到行首) 第二讲第五节:使用计数以删除更多在使用操作符时输入数字可以使它重复多次 如:d2w(删除两个大写字母单词) 正常模式下修改命令的格式:operator(操作符) [number](可以附加的数字,代表次数) motion(动作) 第二讲第六节:操作整行dd:删除整个当前行(2dd:删除两行) 第二讲第七节:撤销类命令U:撤销对整行的修改;u:撤销最后执行的命令 Ctrl +r:撤销之撤销 第三讲第一节:置入类命令
第三讲第二节:替换类命令r键:替换光标所在位置的字符 第三讲第三节:更改类命令ce键:更改文本直到一个单词的末尾(cw键类似) 第三讲第四节:使用c更改更多更改类操作符操作格式:c [number] motion 如:cw;更改单词;c$更改光标之后整行 第四讲第一节:定位及文件状态
gg键:使当前光标直接跳转文件第一行。
第四讲第二节:搜索类命令/+字符串:在当前文件中查找该字符串
ctrl+I:跳转到较新的位置 查找到达文件末尾后,会自动从文件头部继续查找 第四讲第三节:配对括号的查找%:查找配对的括号),],} (光标应该在所需查找的括号处) 第四讲第四节:替换命令在一行内替换头一个字符串old为新的字符串new,输入 :s/old/new 在一行内替换所有的字符串old为新的字符串new,输入 : s/old/new/g 在两行内替换头一个字符串old为新的字符串new,输入 :#,#s/old/new/g(#,#代表的是替换操作的若干行中收尾的行号) 在文件内替换头一个字符串old为新的字符串new,输入 :%s/old/new/g 进行全文替换是询问用户确认每个替换需添加c标志 :%s/old/new/gs 第五讲第一节:在VIM内执行外部命令的方法:命令:光标移动到屏幕底部以输入命令 然后输入!命令:允许执行外部的shell命令 如::!ls;:!dir 第五讲第二节:关于保存文件的更多信息:w TEST:以TEST为文件名保存整个文件 :!del TEST:在MS-DOS下删除TEST文件 :!rm TEST:在unix下删除TEST文件 第五讲第三节:一个具有选择性的保存命令可视模式下保存文件的部分内容:v motion:w FILENAME
第五讲第四节:提取和合并文件向当前文件中插入另外的文件的内容,输入:r FINENAME 如:r TEST将前面创建的名为TEST的文件提取进来,放在光标后面 :r!dir可以读取dir命令的输出并将其放置在当前文件的光标位置后面 第六节第一讲:打开类命令O:在光标的上方打开新的一行并进入插入模式 o:在光标的下方打开新的一行并进入插入模式 第六节第二讲:附加类命令a:在光标所在位置之后插入文本 A:在光标所在行的行末之后插入文本 e:可以使光标移动到单词末尾 第六节第三讲:另外一个置换类命令的版本大写R将进入替换模式,可连续替换多个字符,直到回到正常模式 第六节第四讲:复制粘贴文本使用v进入可视模式,然后使用操作符y复制文本,使用p粘贴文本。 第六节第五讲:设置类命令选项输入:set xxx可以设置xxx选项: ‘ic’ ‘ignorecase’ 查找时忽略字母大小写 ‘is’ ‘incsearch’ 查找短语时显示部分分配 ‘hls’ ‘hlsearch’ 高亮显示所有的匹配短语 选项名可以用完整版本,也可以用缩略版本 禁用忽略大小写::set noic 移除匹配项的高亮显示::nohlsearch 仅在一次查找时忽略字母大小写:\c:/ignore\c<回车> 第七节第一讲:获取帮助信息启动帮助系统: 1.<help>键 2.<F1>键 3.help<回车> 如:输入help cmd可以找到cmd命令的帮助。 输入CTRL-W可以在窗口之间跳转 输入:q<回车>可以关闭帮助窗口 第七节第二讲:创建启动脚本
(获得语法高亮) 第七节第三讲:补全功能使用ctrl-D和<TAB>可以进行命令行补全 补充: 1.确保Vim不是在以兼容模式运行::set nocp 2.添加一个空格,以及一个已有文件名的起始部分,然后按<tab>键,会补全文件名 第二部分gccGNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统
前三步,GCC的参数连起来是“ESc”,相应输入的文件的后缀是“iso” GCC部分连同教材学习部分博客写在另一个博客里第三部分gdb基本的命令有:
|
||||||
遇到的问题 |
1.静态库?什么是静态库? 2.开发工具和资源的位置到底放在哪? |
||||||
如何解决的 |
查找相关博客,写的比较详细 |
||||||
其他 |
博客实在是太长了,分两部分写,这一部分是在实验楼实验内容。 |