嵌入式软件开发实验指导书

上传人:仙*** 文档编号:30747933 上传时间:2021-10-11 格式:DOC 页数:89 大小:1.73MB
收藏 版权申诉 举报 下载
嵌入式软件开发实验指导书_第1页
第1页 / 共89页
嵌入式软件开发实验指导书_第2页
第2页 / 共89页
嵌入式软件开发实验指导书_第3页
第3页 / 共89页
资源描述:

《嵌入式软件开发实验指导书》由会员分享,可在线阅读,更多相关《嵌入式软件开发实验指导书(89页珍藏版)》请在装配图网上搜索。

1、嵌入式软件开发实验指导书李军 梁吉胜2010年10月28日嵌入式软件开发实验指导书目录3 实验一 Linux 开发基础4一、常见命令测试4二、文件与目录命令测试:8三、标准输入输出与重定向及管道 13四、Linux帮助系统16五、Linux下的网络服务18一、实验目的21二、实验内容21三、预备知识21四、实验设备及工具21五、实验原理及说明21六、实验步骤22实验三 Linux C程序设计33一、VI编辑器的使用33二、使用gcc编译器,编译程序35三、使用动态库36四、使用静态库37五、Makefile的编写(参考)38实验四 Linux的实验环境的搭建44一、实验目的44二、实验内容44

2、三、实验设备44四、实验步骤44实验五 linux内核、文件系统的移植与下载51一、实验目的 51二、实验内容 51三、实验设备 51四、linux的移植说明51实验六 基于Linux的键盘驱动程序的编写57一、实验目的57二、实验内容57三、实验设备57四、键盘驱动程序的编写57五、实验演示步骤(动态加载)63实验七 搭建Qt4实验环境65一、实验目的65二、实验内容65三、实验设备65四、实验步骤65实验八 基于QT的对话框程序设计实验70一、实验目的70二、实验内容70三、实验设备70四、实验步骤70实验九 五子棋游戏开发实验80一、实验目的80二、实验内容80三、实验设备80四、实验步

3、骤80五、最后编译、连接和运行84嵌入式软件开发实验指导书 实验一 Linux 开发基础一、常见命令测试1. 访问http:/kernel.org/ 网站了解最新的Linux内核发布情况2. 掌握Linux登录的两种方式正常的图形用户界面登录,优点:操作界面美观,熟悉,缺点:图形界面会占用系统一部分资源3关机命令 分别用shutdown -help和init -help命令查看帮助信息,记下如下两条命令的作用分别用man shutdown和man init命令查看帮助信息,记下如下两条命令的作用Shutdown -h nowInit 0思考:若计划在5分钟后关机,该输入啥命令,在16:30分关

4、机,该输入啥命令提示部分: Runlevels 0, 1, and 6 are reserved. Runlevel 0 is used to halt the sys- tem, runlevel 6 is used to reboot the system, and runlevel 1 is used to get the system down into single user mode.# Default runlevel. The runlevels used by RHS are:# 0 - halt (Do NOT set initdefault to this)# 1 - S

5、ingle user mode# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT set initdefault to this)# id:3:initdefault:时间 设置多久时间后执行shutdown命令。时间参数有hh:mm或+m两种模式。hh:mm格式表示在几点几分执行shutdown命令。例如“shutdown 10:45”表示将在10:45执行shu

6、tdown。+m表示m分钟后执行shutdown。比较特别的用法是以now表示立即执行shutdown。值得注意的是这部分参数不能省略。Shutdown h +5 Shutdown h 16:304 关机前发送广播命令 wall ,通知大家保存信息rootlocalhost root# wall computer will shutdown in 3minutes ,please save what you are doing Broadcast message from root (pts/0) (Fri Jun 15 10:19:57 2007): computer will shutdo

7、wn in 3minutes ,please save what you are doing5 退出服务器或当前用户命令: exit6 查看当前系统支持的shellrootlocalhost root# ls /bin/*sh*/bin/ash /bin/ash.static /bin/bash /bin/bash2 /bin/bsh /bin/csh /bin/sh /bin/tcsh7 查看命令的返回值rootlocalhost root# ls /bin/*sh/bin/ash /bin/bash /bin/bsh /bin/csh /bin/sh /bin/tcshrootlocalh

8、ost root# echo $?0rootlocalhost root# $?-bash: 0: command not foundrootlocalhost root# echo $?127rootlocalhost root#8 修改用户口令rootlocalhost root# passwdChanging password for user root.New password: BAD PASSWORD: it is too simplistic/systematicRetype new password: passwd: all authentication tokens upda

9、ted successfully.rootlocalhost root#10. 用户认证rootlocalhost root# iduid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)rootlocalhost root# su qianzgqianzglocalhost root$ iduid=500(qianzg) gid=500(qianzg) groups=500(qianzg)qianzglocalhost root$9 查看当前用户命令who10 Echo 命令

10、 在终端显示字符串 11 Cat命令查看文件内容 rootlocalhost root# echo how are youhow are yourootlocalhost root# echo how are you aarootlocalhost root# cat aahow are yourootlocalhost root#12 Date 显示或设置日期或时间 请设置当前时间为: 2008年10月23日14点25分 rootlocalhost root# date五 6月 15 16:08:33 CST 2007rootlocalhost root# date 10231425二 10

11、月 23 14:25:00 CST 2007 rootlocalhost root# date 102314252008四 10月 23 14:25:00 CST 2008rootlocalhost root#13rootlocalhost root# cal 六月 2007日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29 30rootlocalhost root# cal 7 2008 七月 2008日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 1

12、0 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30 31rootlocalhost root# cal 07 7 一月 二月 三月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 1916 17 18 19 20 21 22 20 21 2

13、2 23 24 25 26 20 21 22 23 24 25 2623 24 25 26 27 28 29 27 28 27 28 29 30 3130 31 四月 五月 六月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 1 2 3 4 5 6 7 1 2 3 4 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 1110 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 1817 18 19 20 21 22 23 22 23 24 25

14、 26 27 28 19 20 21 22 23 24 2524 25 26 27 28 29 30 29 30 31 26 27 28 29 30 七月 八月 九月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 1 2 3 4 5 6 1 2 3 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 1010 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 1717 18 19 20 21 22 23 21 22 23 24 25 26 27 18

15、 19 20 21 22 23 2424 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 3031 十月 十一月 十二月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 1 2 3 4 5 1 2 3 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 1716 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20

16、21 22 23 2423 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 3130 3114 Clear 清除当前屏幕显示内容15二、文件与目录命令测试:1Ls命令查看当前目录下的文件 Ls /root/; ls /. Ls /root/ -a Ls /root/ -l2Cat命令查看文件内容 Cat /root/.bash_profile3More命令,分页查看文件内容 More /etc/inittab 2.3.5 改变工作目录语法:cd namen a m e:目录名、路径或目录缩写。例如:cd 改变目录位置至用户登录时的工作目录。cd

17、dir1 改变目录位置至d i r 1目录下。cd user 改变目录位置至用户的工作目录。cd . 改变目录位置至当前目录的父目录。cd ./user 改变目录位置至相对路径user 的目录下。cd /./. 改变目录位置至绝对路径的目录位置下。cd 改变目录位置至用户登录时的工作目录。2.3.6 复制文件语法: cp -r 源地址目的地址例如:cp file1 file2 将文件file1 复制成f i l e 2。cp file1 dir1 将文件file1 复制到目录dir1 下,文件名仍为f i l e 1。cp /tmp/file1 . 将目录/tmp 下的文件file1 复制到当

18、前目录下,文件名仍为f i l e 1。cp /tmp/file1 file2 将目录/tmp 下的文件file1 复制到当前目录下,文件名为f i l e 2。cp -r dir1 dir2 复制整个目录。2.3.7 移动或更改文件、目录名称语法: mv 源地址目的地址例如:mv file1 file2 将文件file1更名为file2。mv file1 dir1 将文件file1移到目录dir1 下,文件名仍为file1。mv dir1 dir2 将目录dir1 更改为目录dir2。2.3.8 建立新目录语法: mkdir 目录名例如:mkdir dir1 建立一新目录d i r 1。2.

19、3.9 删除目录语法: rmdir 目录名或rm 目录名例如:rmdir dir1 删除目录dir1,但dir1 下必须没有文件存在,否则无法删除。rm -r dir1 删除目录dir1及其子目录下所有文件。2.3.10 删除文件语法: rm 文件名例如:rm file1 删除文件名为file1 的文件。rm file? 删除文件名中有五个字符且前四个字符为file 的所有文件。rm f* 删除文件名中以f 为字首的所有文件。2.3.11 列出当前所在的目录位置语法: pwd2.3.12 查看文件内容语法: cat 文件名例如:cat file1 以连续显示方式,查看文件名file1 的内容。

20、2.3.13 分页查看文件内容语法: more 文件名或cat 文件名| more例如:more file1 以分页方式查看文件名file1 的内容。cat file1 | more 以分页方式查看文件名file1 的内容。2.3.131 使用less命令浏览文件l e s s命令多少有点象m o r e命令,但是l e s s命令的功能比m o r e命令更强大。l e s s命令和m o r e命令一样都是页命令。但是它的编写者Mark Nudelman,改进了m o r e命令中的一些特色,并又添加了许多其他的特色。l e s s命令提供了许多比m o r e命令优秀的功能: 可以使用光

21、标键在文本文件中前后滚屏。 可以用行号或百分比作为书签来浏览文件。 可以实现在多个文件中进行复杂的检索、格式匹配、高亮度显示等操作。 键盘操作与字处理程序如e m a c s兼容。 阅读到文件结束或者标准输入结束的时候l e s s命令不会退出。 屏幕底部的信息提示更容易控制使用,而且提供了更多的信息。 带有许多的附件,包括一个独立的键定义程序l e s s k e y,这样就可以定义使用哪些按键来控制l e s s命令.2.3.14 查看目录所占磁盘容量语法: du -s 目录例如:du dir1 显示目录dir1 的总容量及其子目录的容量(以KB 为单位)。du -s dir1 显示目录d

22、ir1 的总容量。2.3.16 文件权限的设定1. 改变文件或目录的读、写、执行权限语法:chmod -R mode namen a m e :文件名或目录名。mode: 3个8位数字或r w x的组合。r- r e a d (读),w - w r i t e (写),x - e x e c u t e (执行),u - u s e r (当前用户),g - g r o u p(组),o - o t h e r(其他用户)。例如:chmod 755 dir1 对于目录d i r 1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改。chmod 700 file1 对于文件f i l

23、e 1,设定只有所有者可以读、写和执行的权利。chmod u+x file2 对于文件f i l e 2,增加当前用户可以执行的权利。chmod g+x file3 对于文件f i l e 3,增加工作组使用者可执行的权利。chmod o-r file4 对于文件f i l e 4,删除其他使用者可读取的权利。2改变文件或目录的所有权语法:chown -R 用户名namen a m e:文件名或目录名。例如:chown user file1 将文件file1 改为用户user 所有。chown -R user dir1 将目录d i r 1及其子目录下面的所有文件改为用户user 所有。2.3

24、.17 检查自己所属的工作组名称语法:g r o u p s2.3.18 改变文件或目录工作组所有权语法:chgrp -R 工作组名namen a m e:文件名或目录名例如:chgrp vlsi file1 将文件file1 的工作组所有权改为vlsi 工作组所有。chgrp -R image dir1 将目录d i r 1及其子目录下面的所有文件,改为image 工作组所有。rootlocalhost qianzg# ls -l总用量 90756drwxr-xr-x 19 qianzg qianzg 4096 5月 31 21:15 basicrootlocalhost qianzg# c

25、hgrp -R root basicrootlocalhost qianzg# ls -l总用量 90756drwxr-xr-x 19 qianzg root 4096 5月 31 21:15 basic2.3.19 改变文件或目录的最后修改时间语法:touch namen a m e:文件名或目录名。rootlocalhost root# ls net.sh -l-rwxrwxrwx 1 root root 85 5月 27 20:44 net.shrootlocalhost root# touch net.sh rootlocalhost root# ls net.sh -l-rwxrwx

26、rwx 1 root root 85 6月 15 16:13 net.sh2.3.20 文件的链接同一文件,可拥有一个以上的名称,也就是把一个文件进行链接。语法:ln 老文件名新文件名例如:ln file1 file2 将文件f i l e 2链接至文件f i l e 1。语法:ln -s 老文件名新文件名例如:ln -s file3 file4 将文件file4 链接至文件f i l e 3。2.3.21 文件中字符串的查寻语法:grep string file例如:grep abc file1 寻找文件f i l e 1中包含字符串abc 所在行的文本内容。2.3.22 查寻文件或命令的路

27、径语法:whereis command 显示命令的路径。语法:which command 显示命令的路径,及使用者所定义的别名。语法:whatis command 显示命令功能的摘要。语法:find search-path -name filename -print 搜寻指定路径下某文件的路径。例如:find / -name file1 -print 自根目录下寻找文件file1 的路径。2.3.23 比较文件或目录的内容语法:diff -r name1 name2name1 name2:可同时为文件名或目录名。例如:d i ff file1 file2 比较文件file1 与file2 内各

28、行的不同之处。d i ff -r dir1 dir2 比较目录dir1 与dir2 内各文件的不同之处。2.3.24 使用head或tail命令阅读文件的开头和结尾head用来显示文件开头x行的-n xtail用来显示文件开尾x行的-n xqianzglocalhost s3c2410$ head -n 5 nand_read.c/* * vivi/s3c2410/nand_read.c: Simple NAND read functions for booting from NAND * * Copyright (C) 2002 MIZI Research, Inc. *qianzgloca

29、lhost s3c2410$ tail -n 5 nand_read.c /* chip Disable */ NFCONF |= 0x800; /* chip disable */ return 0;2.3.25 file 命令查看文件属性qianzglocalhost 03_tty$ file tty.ctty.c: ASCII C program textqianzglocalhost 03_tty$ file termterm: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamical

30、ly linked (uses shared libs), not stripped2.3.26 wc命令 wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。语法:wc 选项 文件说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下:- c 统计字节数。- l 统计行数。- w 统计字数。这些选项可以组合使用。 输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。行数、字数、字节数、文件名 如果命令行中没有文件名,

31、则输出中不出现文件名。 例如:$ wc - lcw file1 file24 33 file17 52 file2 11 11 85 total省略任选项-lcw,wc命令的执行结果与上面一样。 三、标准输入输出与重定向及管道 1 标准输入与输出我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。我们以cat命令为例,cat命令的功能是从命令

32、行给出的文件中读取数据,并将这些数据直接送到标准输出。若使用如下命令:$ cat config将会把文件config的内容依次显示到屏幕上。但是,如果cat的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:$ catHello worldHello worldByeBye$用户输入的每一行都立刻被cat命令输出到屏幕上。直接使用标准输入/输出文件存在以下问题:输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出

33、作为另一命令的输入进行进一步的处理等。为了解决上述问题,Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。 2. 输入重定向 输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。所以说,输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。例如,命令wc统计指定文件包含的行数、单词数和字符数。如果仅在命令行上键入:$ wcwc将等待用户告诉它统计什么,这时shell就好象死了一样,从键盘键入的所有文本都出现在屏幕上,但并没有什么结果,直至按下ctrl+d,wc才将命令结果写在屏

34、幕上。如果给出一个文件名作为wc命令的参数,如下例所示,wc将返回该文件所包含的行数、单词数和字符数。$ wc /etc/passwd20 23 726 /etc/passwd$另一种把/etc/passwd文件内容传给wc命令的方法是重定向wc的输入。输入重定向的一般形式为:命令文件名。可以用下面的命令把wc命令的输入重定向为/etc/passwd文件:$ wc 文件名。例如:$ ls directory.out$ cat directory.outch1.doc ch2.doc ch3.doc chimp config mail/ test/$如果要将一条命令的输出结果追加到指定文件的后面

35、,可以使用追加重定向操作符。形式为:命令文件名。例如:$ ls *.docdirectory.out$ cat directory.outch1.doc ch2.doc ch3.doc chimp config mail/ test/ch1.doc ch2.doc ch3.doc$和程序的标准输出重定向一样,程序的错误输出也可以重新定向。使用符号2(或追加符号2)表示对错误输出设备重定向。例如下面的命令: bitsCN.com中国网管联盟 $ ls /usr/tmp 2 err.file可在屏幕上看到程序的正常输出结果,但又将程序的任何错误信息送到文件err.file中,以备将来检查用。还可以

36、使用另一个输出重定向操作符(&)将标准输出和错误输出同时送到同一文件中。例如:$ ls /usr/tmp & output.file利用重定向将命令组合在一起,可实现系统单个命令不能提供的新功能。例如使用下面的命令序列:$ ls /usr/bin /tmp/dir$ wc w /tmp/dir459统计了/usr/bin目录下的文件个数。4. 管 道将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起,例如上个例子中的/tmp/dir文件将ls和wc命令联在一起;另一种是Linux所提供的管道功能。这种方法比前一种方法更好。 管道可以把

37、一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中未使用输出重定向)。通过使用管道符“|”来建立一个管道行。用管道重写上面的例子:$ ls /usr/bin|wc -w1789再如:$ cat sample.txt|grep High|wc -l管道将cat命令(列出一个文件的内容)的输出送给grep命令。grep命令在输入里查找单词High,grep命令的输出则是所有包含单词High的行,这个输出又被送给wc命令,wc命令统计出输入中的行数。假设

38、sample.txt文件的内容如下:Things to do today:Low:Go grocery shoppingHigh:Return movieHigh:Clear level 3 in Alien vs. PredatorMedium:Pick up clothes from dry cleaner那么该管道行的结果是2。Tee命令功能说明:读取标准输入的数据,并将其内容输出成文件。 语法:tee-ai-help-version文件 补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。我们可利用tee把管道导入的数据存成文件,甚至一次保存数份文

39、件。 参数:-a附加到既有文件的后面,而非覆盖它。如果给予tee指令的文件名称已经存在,预设会覆盖该文件的内容。加上此参数后,数据会新增在该文件内容的最后面,而不会删除原先之内容。 -i忽略中断信号 -help在线帮助 -version显示版本信息 范例: 列出文本文件slayers.story的内容,同时复制3份副本,文件名称分别为ss-copy1、ss-copy2、ss-copy3: $catslayers.story|teess-copy1ss-copy2ss-copy3四、Linux帮助系统1Help命令 ls -helpUsage: ls OPTION. FILE.List info

40、rmation about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuSUX nor -sort. Mandatory arguments to long options are mandatory for short options too. -a, -all do not hide entries starting with . -A, -almost-all do not list implied . and . -author print the au

41、thor of each file -b, -escape print octal escapes for nongraphic characters -block-size=SIZE use SIZE-byte blocks -B, -ignore-backups do not list implied entries ending with -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by n

42、ame otherwise: sort by ctime2 man 命令man ls LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls OPTION. FILE. DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuSUX nor -sort. Mandatory arguments to long opt

43、ions are mandatory for short options too. -a, -all do not hide entries starting with . -A, -almost-all do not list implied . and . -author print the author of each file -b, -escape print octal escapes for nongraphic characters -block-size=SIZE use SIZE-byte blocks五、Linux下的网络服务qianzglocalhost 01_hell

44、o$ cat /etc/resolv.conf nameserver 202.106.0.20search localdomainqianzglocalhost 01_hello$ cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhostqianzglocalhost 01_hello$ cat /etc/sysconfig/network

45、NETWORKING=yesHOSTNAME=localhost.localdomainless /etc/rc.d/rc3.d/S10network#! /bin/bash# network Bring up/down networking# chkconfig: 2345 10 90# description: Activates/Deactivates all network interfaces configured to # start at boot time.# BEGIN INIT INFO# Provides: $network# END INIT INFO # Source

46、 function library. /etc/init.d/functions if ! -f /etc/sysconfig/network ; then exit 0fi . /etc/sysconfig/network使用ifconfig 命令 :如ifconfig eth0 192.168.1.2 netmask 255.255.255.0 upRoute 添加网关Route add default gw 192.168.0.254 dev eth0 Netstat 查看网络状态qianzglocalhost 01_hello$ netstat -arKernel IP routing

47、 tableDestination Gateway Genmask Flags MSS Window irtt Iface192.168.0.255 192.168.0.254 255.255.255.255 UGH 0 0 0 eth0192.168.0.0 * 255.255.255.0 U 0 0 0 eth0169.254.0.0 * 255.255.0.0 U 0 0 0 eth0default 192.168.0.254 0.0.0.0 UG 0 0 0 eth0inetd守护进程监听所有的端口,如果某端口上有请求到达,就启动相应服务器进行处理,完成后退出此服务器/mnt/yaff

48、scat /etc/services# service-name port/protocol aliases . # commenttcpmux 1/tcpecho 7/tcpecho 7/udpsystat 11/tcp usersdaytime 13/tcpdaytime 13/udpnetstat 15/tcpftp-data 20/tcpftp 21/tcpssh 22/tcpssh 22/udptelnet 23/tcpsmtp 25/tcp mailtime 37/tcp timservertime 37/udp timservernameserver 42/tcp namewho

49、is 43/tcp nicnamebootps 67/tcp # BOOTP serverbootps 67/udpbootpc 68/tcp # BOOTP clientbootpc 68/udptftp 69/udpfinger 79/tcpwww 80/tcp httpwww 80/udppop3 110/tcp pop-3pop3 110/udp pop-3sunrpc 111/tcp portmappersunrpc 111/udp portmapperauth 113/tcp authentication tap identnntp 119/tcp readnews untpntp

50、 123/tcpntp 123/udpsnmp 161/udpsnmp-trap 162/udp snmptrap实验二 Shell编程实验一、实验目的了解 Shell 的作用和主要分类。了解 Bash的一般语法规则。练习编写简单的shell程序。二、实验内容1.Shell变量的定义及其使用。2.位置参数和环境变量。3.Shell中的特殊字符。4.条件判断结构与循环结构5.函数的定义和使用三、预备知识1、LINUX环境下常用命令和VI编辑器的操作。2、了解Shell作用和主要分类等基础知识。四、实验设备及工具软件:PC机操作系统REDHAT ELAS4环境五、实验原理及说明Shell是Linu

51、x系统中一个重要的层次,它是用户与系统交互作用的界面。在介绍Linux命令时,Shell都作为命令解释程序出现:它接收用户打入的命令,进行分析,创建子进程实现命令所规定的功能,等子进程终止工作后,发出提示符。这是Shell最常见的使用方式。Shell 除了作为命令解释程序以外,还是一种高级程序设计语言,它有变量,关键字,有各种控制语句,如 if, case, while, for 等语句,有自己的语法结构。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序,特别是它把相关的Linux命令有机地组合在一起,可大大提高编程的效率,充分利用Linux系统的开放性能,设计出适合自己要求的命

52、令。六、实验步骤1语法练习(1) Shell变量 Shell有两种变量:环境变量和临时变量。在Shell脚本中临时变量又分为两类:用户定义的变量和位置参数。 用户定义的变量用户定义的变量是最普遍的Shell变量,变量名是以字母或下化线打头的字母、数字和下线符序列,并且大小写字母意义不同。变量名的长度不受限制。定义变量并赋值的一般形式是: 变量名=字符串 例如, MYFILE=/usr/meng/ff/m1.ca. 定义并显示变量的值在程序中使用变量的值时,要在变量名前面加上一个符号“$”。这个符号告诉Shell,要读取该变量的值。练习1.1:$ dir=/usr/mengqc/file1$ echo $ dir/usr/mengqc/file1 $ echo dirdir$ today=Sunday$ echo $ today $ TodaySunday$ str=Hapy New Year ! $ echo

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!