LINUX实验指导【精选】_第1页
LINUX实验指导【精选】_第2页
LINUX实验指导【精选】_第3页
LINUX实验指导【精选】_第4页
LINUX实验指导【精选】_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 linux基础知识1实验目的熟悉ltnux的基础命令运用vi进行代码的编辑2实验设备硬件:pc机软件:red hat93实验原理vi编辑器是所有unix及linux系统下标准的编辑器,它的强大不逊色于任何 最新的文本编辑器,这里只是简单地介绍一下它的用法和一部分指令。由于对unix 及linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍 vi的地方进一步了解它。vi也是linux屮最基木的文木编辑器,学会它后,您将 在linux的世界里畅行无阻。1. vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)插入模式 (insert mo

2、de )和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode下, 或者到last line mode 。2) 插入模式(insert mode)只有在insert mode下,才可以做文字输入,按esc键可冋到命令行模式。3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号.等。 不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode ) 也算入命令行模式command

3、 mode)o2. vi的基本操作1) 进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑i田i面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于命令行模式 (command mode)j,您要切换到插入模式(insert mode)j才能够输入文字。2) 切换至插入模式(insert mode )编辑文件在命令彳亍模式(command mode)j下按一下字母就口j以进入插入模式 (insert mode)j,这时候你就可以开始输入文字了。3) insert的切换您目前处于插入模式(insert mode),您就只能一直输入文字,如果您发 现输错了字!想

4、用光标键往冋移动,将该字删除,就要先按一下esc键转到命 令行模式(command mode)j再删除文字。4)退出vi及保存文件在命令行模式(command mode)j下,按一下:冒号键进入last 1 ine mode j, 例如:w filename (输入w filename j将文章以指定的文件名filename保存) wq (输入cwq,存盘并退出vi)q!(输入q!,不存盘强制退出vi)3. 命令行模式(command mode )功能键1)插入模式按i切换进入插入模式insert mode j,按“i”进入插入模式后是从光标当 前位置开始输入文件;按3进入插入模式后,是从目前

5、光标所在位置的下一个位置开始输入文字;按进入插入模式后,是插入新的一行,从行首开始输入文字。2)从插入模式切换为命令行模式按esc键。4实验步骤4. 1进入linux ,熟悉其基本的指令1 isis命令跟dos下的dir命令一样,用于显示当前目录的内容。如果想取得详细的 信息,可用is -1命令,这样就可以显示目录内容的详细信息。如果口录下的文件太多,用一屏显示不了,可以用is -1 |more分屏显示。2 cdcd命令不仅显示当前状态,还可以改变当前状态,它的用法跟dos下的cd命令基 木一致。cd .可进入上一层目录3 mkdir这个命令很简单,跟dos的md命令用法几乎-样,用于建立口录

6、。4 rm rm命令用于删除文件或目录。rm命令会强制删除文件,如果想要在删除时提示确认,可用rm -i命令。如果要删除口录,可用rm -r命令。rm -r命令在删除口录吋,每删除一个文件或 目录都会显示提示,如果目录太大,响应每个提示是不现实的。这吋可以用rm -rf 命令來强制删除目录,这样即使用了-i标志也当无效处理。5 cpcp命令用于复制文件或目录。cp命令可以一次复制多个文件,例如:$cp *. txt *. doc *. bak /home将当前口录中扩展名为txt、doc和bak的文件全部复制到/home 口录中。如果要复制整个目录及其所有子目录,可以用cp -r命令。6 ha

7、lt关机命令,不必多说。4.2使用vi建立hello, c文件输入如下命令$cd /root/myjob $vi hello- c4.3按i键进入插入模式,输入如下代码#inelude <stdio.h>main ()printf( “hello world!n” );pritnf( “hello sinosys!n” );(回车)保存文件并退出vi。然后按esc键退出插入模式,输入 :wq4. 4使用gcc进行编译输入指令:gcc - o test test, c对编写的test.c文件进行编译;输入指令:./test运行可执行文件test可以看到在屏幕上输出:hello wor

8、ld!hello sinosys!实验2 gdb调试器1实验目的熟练运用gdb进行c语言调试熟练运用vi进行代码的编辑2实验设备硬件:pc机 软件:red hat93实验原理3. 1 gdb能做什么gdb可以用来调试c、c+ > modula-2的程序。一般来说,gdb能做的事大致可以 分为四类:1. 启动程序,按指定的方式执行程序。2. 在指定条件下使程序暂停。3. 当程序被停住时,可以检查此时程序中的变化。4. 改变程序屮的变量或执行顺序来试验。3. 2 编译代码为了使gdb正常工作,你必须使你的程序在编译时包含调试信息.调试信息 包含你程序里的每个变量的类型和在可执行文件里的地址映

9、射以及源代码的行号. gdb利用这些信息使源代码和机器码相关联,在编译吋用-g选项打开调试选项。3. 3 gdb常用命令breakpoint在程序屮设置一个断点cd改变当前工作目录clear删除刚才停止处的断点 continue从断点开始继续执行 delete删除一个断点或监测点;也可与其他命令一起使用 display程序停止时显示变量和表达式 info显示与该程序有关的各种信息 jump在源程序中的另一点开始运行 kill异常终止在gdb控制下运行的程序 list列出相应于正在执行的程序的原文件内容 next执行下一个源程序行,从而执行其整体中的一个函数 print显示变量或表达式的值 pw

10、d显示当前工作口录quit 退出 gdbnm执行该程序step执行下一个源程序行,必要时进入下一个函数until结束当前循环watch在程序中设置一个监测点(即数据断点)4实验步骤4. 1首先,使用vi编辑生成test, c文件,文件内容如下:#inelude <stdio. h>int sum(int m);int majn()int i , n二0;sum(50);for(i=l; i二50; i+)n +=1;printf( “the sum of l50 is %d n”,n );int sum(int m)int i ,n 二0;for (i二1; i<m; i+)

11、n +=1;printf ( "the sum of 1 -m is %dn”,n);4. 2保存文件并编译在终端输入如下命令编译test.c文件,注意一定要加上”從”,这样编译出的 可执行代码中才包含调试信息,否则之后gdb无法载入该可执行文件。# gcc - g test, c - o test4. 3启动gdb输入命令启动gdb。虽然这段程序没有错误,但调试完全正确的程序可以更加了 解gdb的使用流程。接下来就使用gdb进行调试。#gdb test4.4查看文件在gdb中键入t” (list)就可以查看所载入的文件可以看出,gdb列岀的源代 码中明确地给出了对应的行号,这样就可

12、以大大地方便代码的定位。4. 5设置断点设置断点是调试程序中是一个非常重耍的手段,它可以使程序到一定位置暂停 它的运行。因此,程序员在该位置处可以方便地查看变量的值、堆栈情况等,从而 找出代码的症结所在。在gdb中设置断点非常简单,只需在“b”后加入对应的行号即可(这是最常用 的方式,另外还有其他方式设置断点)。要注意的是,在gdb中利用行号设置断点 是指代码运行到对应行之前将其停止,如上例屮,代码运行到第5行之前暂停(并没 有运行第5行)o4. 6查看断点情况在设置完断点之后,用户可以键入“ infob”来查看设置断点情况,在gdb屮 可以设置多个断点。4. 7运行代码接下来就可运行代码了,

13、gdb默认从首行开始运行代码,可键入“r” (run)即 可(若想从程序中指定行开始运行,可在r后面加上行号),程序运行到断点处就停 止了。4. 8查看变量值在程序停止运行之后,程序员所要做的工作是查看断点处的相关变量值。在gdb 中只需键入“p” +变量值即可查看该变量的当前值。在此处,为什么变量“i”的 值为如此奇怪的一个数字呢?原因就在于程序是在断点设置的对应行之前停止的,那 么在此时,并没冇把“严 的数值赋为零,而只是一个随机的数字。但变量是 在第四行赋值的,故在此时已经为零。4. 9单步运行单步运行可以使用命令“n” (next)或“s” (step),它们之间的区别在于:若 有函数

14、调用的“s”会进入该函数而“n”不会进入该函数。因此,吋候,“s”就类 似于vc等工具中的“stepin” “n”类似与vc等工具中的“stepover”。如图7所示,使用后,程序显示函数sum的运行结果并向下执行,而使用“s” 后则进入到sum函数之中单步运行。4. 10恢复程序运行在查看完所需变量及堆栈情况后,就可以使用命令“c” (continue)恢复程序 的正常运行了。这吋,它会把剩余还未执行的程序执行完,并显示剩余程序中的执行结果。以 下是之前使用5”命令恢复后的执行结果。如图8,程序在运行完后退出,之后程 序处于“停止状态”。5实验思考5. 1如果在编译时不加飞选项,使用gdb时

15、将会出现什么情况?实验3 minicom实验(linux中串口调试)1实验目的掌握linux上的串口终端程序minicom的设置及其用法。2实验设备硬件:pc机、sinosys-m系列实验箱软件:red hat93实验原理minicom是个通信程序,有点象共享软件teijx ,但其源码口j以自由获得,并 能够运行于多数unix系统。它包括以下特性:自动重拨号的拨号口录,对串行设备 uucp格式的lock文件的支持,独立的脚本语言解释器,文件捕获,多用户单独配 置,等等。4实验步骤4. 1 minicom 的执行安装linux时基本上会安装miniconi。安装与否可用卜面的指令来确认,如图1所

16、 示 o 输入命令: rpm -qa | grep minicom屏幕显示:minicom-2. 00. 0-12现在安装在pc上的minicom版本是min icom-2. 00. 0-12o如果上面的指令找 不到版本,表示安装redhat linux没冇选择完全安装。为了保证后而的实验能顺利 完了,请完全安装linu xo图1输入命令:minicom , 口j看到如下minicom被执行的过程。如图2所示。图2在后面会进行设置和连接目标板,这里先退出minicomo按ct门+a,然后按刁,出 来功能框,按x然后选择yes即退出。4. 2 minicom 设置通过 minicom -s 选项

17、进入 minicom 设置|hlj而。iiminicom - s图3 minicom设置窗上而的设置憫而中选择serial por t setup,如图4所示。rmm.vltntula -ser la 1 dk i re/dev/lty&ob -lx>ckf i ic local ionaar/lockc -ca 11 in programd -ca i lout programt1bps/par/bi t»115200 8mf lb rduurc f low can i rol:bbg - sol tvrc f lo% gon 1rol nj(mngcjch sc i

18、 t 1 ng? |screen 3ndjsakxbakeyboard at dfl图4 serial设置窗在这里进行如下serial设置。1. 图5的设置窗弹出后按“a”键则光标会停在/dev/modem后面。如果serial cable 连接在com port 1则将serial device设为/dev/ttyso,如果连接在com port 2则 设为/dev/ttysl,然后按凹车键。b fx2. 按"e” 键,弹出图 4 的窗则设定 speed, data bit, parity bit, stop bit。 开发板的设置为 speed-115200, data bit -8, panty bit-no, stop bit t,应依 此来进行设置。按可同时设置的键“i”即可。rooffitirnfth文f|<d 询册巳 疔®里终skd 转fkg> w1uxwa - ser ia1b lockfile l c callin p d - ca i ion t p e ups/pr f ifardre f c 亠 soltwr< fthongr itgonni pafawicf icurrent: ii5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论