当前位置:文档之家› 嵌入式操作系统实验指导书1

嵌入式操作系统实验指导书1

嵌入式操作系统实验实验一 Linux常用命令一.实验目的1. 熟悉VMware Workstation虚拟机的使用。

2. 熟悉ubuntu操作系统。

3. 掌握常用的Linux命令。

二.实验设备硬件:PC机。

软件:VMware Workstation虚拟机、ubuntu操作系统。

三.实验内容1.基于虚拟机的Linux操作系统的使用。

2.文件与目录相关命令的使用。

3.磁盘管理与维护命令的使用。

4.系统管理与设置命令的使用。

5.网络相关命令的使用。

6.压缩备份命令的使用。

四.实验步骤1.基于虚拟机的Linux操作系统的使用(1)启动VMware Workstation应用程序,启动windows以后,点击开始→程序→VMware→VMware Workstation,出现如图1所示界面。

图1 启动VMware Workstation(2)点击菜单File Open选择安装好的Linux虚拟机文件,或者直接点击Start this virtual machine启动Linux操作系统。

(3)启动系统后需要输入用户名和密码,如图2所示,这里用户名为root,密码为“123456”。

图2输入用户名和密码(3)启动终端,成功进入系统后,选择应用程序->系统工具->终端,如图3所示。

图3 启动终端(4)在终端中执行Linux命令,终端运行以后,就可以在这里输入Linux命令,并按回车键执行,如图4所示。

图4运行Linux命令2.文件与目录相关命令的使用理解12个常用的文件与目录相关命令的使用,完成如下练习。

(1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:ll /bin(2)进入/tmp目录下,新建目录myshare:cd /tmpmkdir mysharels -ld myshare/(3)用pwd命令查看当前所在的目录pwd(4)新建testfile文件touch testfilels -l(5)设置该文件的权限模式chmod 755 testfilels -l testfile(6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak。

cp testfile myshare/testfile.bakls -l myshare/(7)在/root目录下为该文件创建1个符号连接。

ln -s /tmp/testfile /root/testfile.lnls -l /root/testfile.ln(8)搜索inittab文件中含有initdefault字符串的行。

cat /etc/inittab | grep initdefault3.磁盘管理与维护命令的使用理解2个磁盘管理与维护命令,完成如下练习。

(1)Linux下使用光盘步骤:➢确认光驱对应的设备文件:ll /dev/cdrom➢挂载光盘:mount -t iso9660 /dev/cdrom testdir➢查询挂载后的目录:ll /media/cdrom➢卸载光盘(umount testdir)umount /dev/cdrom(2)Linux下USB设备的使用➢挂载U盘,看看系统认出的盘(或者使用#fdisk -l)。

cat /proc/partitions➢--建立挂载点mkdir /mnt/usb➢挂载U盘mount -t vfat -o codepage=936,iocharset=gb2312 /dev/sdb1 /mnt/usb➢--卸载U盘umount /mnt/usb4.系统管理与设置命令的使用理解shutdown、ps、kill命令,完成如下练习。

➢查看系统所有进程ps -ef➢查找ssh服务守护进程的进程ID号ps -ef |grep sshd➢假设ssh服务守护进程出现了问题,则强制杀掉该进程kill -9 进程ID号➢系统关机shutdown5.网络相关命令的使用理解ifconfig、ping、netstat命令,完成如下练习。

➢显示当前网络的信息ifconfig➢设置网卡eth0的IP地址为192.168.1.10:ifconfig eth0 192.168.1.10➢设置网卡eth0的子网掩码为255.255.255.0:ifconfig eth0 netmask 255.255.255.0 ➢禁用网卡eth0:ifconfig erh0 down➢测试本机网络的连通性:ping 127.0.0.1➢启用网卡eth0:ifconfig erh0 up➢显示内核路由表:netstat –r➢显示TCP协议连接状态:netstat –t➢显示UDP协议连接状态:netstat –u6.压缩备份命令的使用理解tar命令和gzip命令的使用,完成如下练习。

➢把/tmp目录打包成tmp.tar,放到/root目录下:tar cf /root/tmp.tar /tmp/* ➢把/tmp目录压缩打包成tmp.tar.gz,放到/root目录下:tar zcvf /root/tmp.tar.gz /tmp/*➢比较tmp.tar和tmp.tar.gz的大小:ls -l /root/tmp.tar /root/tmp.tar.gz➢不解包只查看压缩包tmp.tar.gz中的内容:tar ztf /root/tmp.tar.gz➢解压tmp.tar.gz的内容到/tmp/myshare目录:tar zxvf /root/tmp.tar.gz -C /tmp/myshare/➢把/tmp目录下每个文件压缩成.gz格式:gzip *➢详细列出每个.gz压缩文件的信息,不解压:gzip –l *➢把每个.gz压缩文件解压,并列出详细信息:gzip –dv *五.思考题1.使用ls 命令查看/root下的信息,使用重定向功能将结果保存到test.txt文件中。

2.通过磁盘管理与维护命令将U盘挂载到虚拟机中,并将思考题1中生成的test.txt文件拷贝到U盘中。

3.用ifconfig把eth0 的IP修改为:10.3.0.159,子网掩码修改为:255.0.0.0。

4.压缩和打包有何区别?压缩也是一种打包,压缩的原理是将文件中相同的信息用一个字符代替,致使文件体积变小达到压缩的目的,压缩对于文本类或数据类文件有较明显的作用。

打包就是将一些文件放在一起变成一个包,便于保存和传输,图片和视频数据因为不象文本一样,因此多个图片在压缩的时候没有明显效果,因此只能做打包,进行保存。

实验二 Linux下C语言开发环境一.实验目的1.熟悉ubuntu下的c语言开发环境。

2.掌握vi、gcc、gdb的使用。

3.掌握Linux下C语言程序设计流程。

4.掌握Linux下集成开发环境。

二.实验设备硬件:PC机。

软件:VMware Workstation虚拟机、ubuntu操作系统。

三.实验内容1.Linux下C语言开发流程。

2.vi、Vim编辑器的使用。

3.GCC编译器的使用。

4.GDB调试器的使用。

5.Make工程管理器的使用。

四.实验步骤1.Linux下C语言开发流程。

(1)启动虚拟机,进入ubuntu操作系统,然后启动终端。

(2)使用Vim编辑源程序,在终端中输入vi hello.c,然后输入源代码,编辑完成后存盘,如图1所示。

图1 编辑源代码(3)编译源代码,在终端下输入GCC –o hello hello.c进行编译。

(4)运行程序,在终端中查看程序运行结果,如图2所示。

图2 编译、运行程序2.vi、Vim编辑器的使用。

(1)Vim的启动。

(2)三种模式:命令模式、编辑模式、底行模式之间的切换,以及三种模式下的常用命令的使用。

进入Vim时,默认的模式是命令行模式,按“i”进入编辑模式,编辑模式下按“ESC”则退到命令行模式,按“shift”+“:”则进入底行模式。

完成如下操作练习。

➢在“/root”目录下建一个名为“/Vi”的目录。

mkdir /root/Vi➢进入“/Vi”目录。

cd /root/Vi➢将文件“/etc/inittab”复制到“/Vi”目录下。

cp /etc/inittab ./➢使用Vi打开“/Vi”目录下的inittab。

Vi ./inittab➢设定行号,指出设定initdefault(类似于“id:5:initdefault”)的所在行号。

:set nu ➢将光标移到该行。

17<enter>➢复制该行内容。

yy➢将光标移到最后一行行首。

G➢粘贴复制行的内容。

p➢撤销第9步的动作。

u➢将光标移动到最后一行的行尾。

$➢粘贴复制行的内容。

p➢光标移到“si::sysinit:/etc/rc.d/rc.sysinit”。

21G➢删除该行。

dd➢存盘但不退出。

:w(底行模式)➢将光标移到首行。

1G➢插入模式下输入“Hello,this is Vi world!”。

按i键并输入“Hello,this is Vi world!”(插入模式)➢返回命令行模式。

Esc➢向下查找字符串“0:wait”。

/0:wait(命令行模式)➢再向上查找字符串“halt”。

?halt➢强制退出Vi,不存盘。

:q!(底行模式)3.GCC编译器的使用。

4.GDB基本命令的使用。

gdb所提供的功能,使用Vim编辑源程序,在终端中输入vi test.c,输入如下源代码,编辑完成后存盘。

此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中存在的问题。

程序源代码如下:#include <stdio.h>int display1 (char *string)int display2 (char *string1)int main (){char string[] = "Embedded Linux";display1 (string);display2 (string);}int display1 (char *string){printf ("The original string is %s \n", string);}int display2 (char *string1){char *string2;int size,i;size = strlen (string1);string2 = (char *) malloc (size + 1);for (i = 0; i < size; i++)string2[size - i] = string1[i];string2[size+1] = ' ';printf("The string afterward is %s\n",string2);}(1)用Gcc编译:gcc -g greet.c -o greet。

相关主题