Linux命令解释器的设计毕业论文设计

上传人:aa****6 文档编号:29213727 上传时间:2018-01-22 格式:DOC 页数:29 大小:682.50KB
返回 下载 相关 举报
Linux命令解释器的设计毕业论文设计_第1页
第1页 / 共29页
Linux命令解释器的设计毕业论文设计_第2页
第2页 / 共29页
Linux命令解释器的设计毕业论文设计_第3页
第3页 / 共29页
Linux命令解释器的设计毕业论文设计_第4页
第4页 / 共29页
Linux命令解释器的设计毕业论文设计_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Linux命令解释器的设计毕业论文设计》由会员分享,可在线阅读,更多相关《Linux命令解释器的设计毕业论文设计(29页珍藏版)》请在金锄头文库上搜索。

1、目 录摘 要 .1前言 .21 绪论 .31.1 Shell 的定义 .31.1.1 UNIX Shell.31.2 shell 的历史 .41.3 shell 的职责 .42 开发环境和开发工具介绍 .62.1 开发环境-Ubuntu .62.2 开发工具-GCC .63 模拟 shell 设计 .73.1 简单 shell 设计思想 .73.2 复杂 shell 设计思想 .83.2.1 作业及作业前后调度实现方法 .83.2.2 进程组、会话与终端 .93.2.3 命令行 .103.2.4 、bg、fg 等信号的思想 .103.2.5 管道 .113.2.6 重定向 .114 Shell

2、 的实现 .134.1 数据结构 .134.2 程序结构 .134.2.1 初始化环境 .134.2.2 解析命令 .144.2.3 查找外部程序 .154.2.4 执行命令 .164.2.5 管道 .174.2.6 作业控制命令 .185 结束语 .20致谢 .21参考文献 .22附录 .231Linux 命令解释器的设计摘 要:随着 Linux 系统使用的越来越广泛,越来越多的人开始深入的研究Linux,特别是对 Linux shell 的研究是对 Linux 研究最主要的部分。本文主要是研究了对 shell 的功能的一些认识,而且对 shell 的列表,管道,输入重定向和输出重定向等命令

3、功能进行了实现,可以对 shell 命令解释器进行更加全面的认识和充分的了解,而且在 shell 命令解释器中执行正确的命令,从而对它的原理,方法等在程序中必须用到的知识原理有比较清楚的认识,最后通过对每个功能的详细分析,进而编写出恰当实现各个功能的代码,从而做成一个Shell 命令解释器。并且,在嵌入式领域中,与人们的需求相比,硬件的资源是微不足道的。这就意味着我们把不多的资源利用完成很多的需求,而嵌入式的设计在 PC 上编程是有很大不同的,它其实只需要一个很大程序的比较小的一方面就可以满足它的需求,因此我们必须把一些无用的程序删掉来换成空间。在嵌入式领域中就像传统的 K shell,C s

4、hell,Bourne shell 等大型的 shell 程序就会令硬件方面的东西很少。因此我们需要一个更符合嵌入式系统中使用的 Shell。关键词:Shell;程序;设计与实现;嵌入式;LinuxAbstract:Accompanied by the popularize of the Linux,more and more people are doing deeply study in it.The study of shell is the most important thing when study the Linux.It mainly includes the understa

5、nd of some knowledge and function of the micro linux shell.Through the study of the orders in the shell like list,pipe,input redirect and output redirect,readers can have a thorough sense about the shell and learn to use these orders accurately in shell which play an important role in programming la

6、ter.Code accurately and achieve a simple shell with the functions above after analyzing the details of every functions module.Moreover,in the embedded field,the hardware resources are limited,but demand is unlimited.This means they have to use limited resources to accomplish a variety of needs and e

7、mbedded design and programming in the traditional PC,is very different ,and it often requires only a small part of a large program on meet its needs,so we had to cut out a number of useless programs in exchange for space .In the embedded field,as the traditional K shell,C shell,Bourne shell and othe

8、r large-scale shell program will make our hardware resources are stretched.So we need a more suitable for embedded systems used in the shell,this is my another objective of this design.Key words:Shell,Process,Design,Design and achieve,embedded,Linux2前言shell 作为 Linux 系统的最外层的部分,为使用者提供必备的接口。Shell 作为用户和

9、 Linux 内核之间的接口程序,起着一个桥梁的作用,假如把 Linux 内核当做是一个球心,那么 shell 就是球体的表面。从 shell 向Linux 发出命令时,内核会对该命令做出相应的解释。本论文就是模拟一个shell 命令解释器,包括:管道、内部命令、外部命令、重定向命令。管道是 Linux 支持的最初 Unix IPC 其中的一个,具有这一些特点:管道是半双工的,里面的数据只能单向的流动;当双方需要通信时,要创造出来两个管道;但是只能用于父子进程和兄弟进程之间(具有亲缘关系的进程);其实就是他们自己独自组成一种的文件系统,这个文件系统是独立的:管道相对于管道两端的进程来说,就是独

10、立的文件,它不是一般的文件,它并不属于一种文件系统,而是自己有自己的特点,独自构成一种文件系统,而且只是在内存中。当写数据时一个进程向其中一个管道中写的数据会被管道另一头的进程读出,而且写入的数据每次都在管道缓冲区的最后,并且每次都是从缓冲区的首端读数据。每当执行 shell 命令行时一般会打开三个标准文件,这三个标准文件就是标准输入文件(stdin),一般对应用户所用的输入键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应着用户所用的输出屏幕。进程将从标准输入文件中读取输入数据,将正确的数据输出到标准输出文件,将不正确的信息输出到标准错误文件中。输入重定向

11、,顾名思义,就是所把命令(或可执行程序)的标准输入重新定向到自己所认定的文件中。也就是说,输入不一定要来自键盘,可以来自一个自己指定的文件。输出重定向就是把命令(或可执行程序)的标准输出或标准错误输出重新定向到目标中。该命令的输出就不会在屏幕上显示,而是写入到自己的目标文件中。Shell 是一个命令解释器,它就是把用户输入的命令进行重新解释而且把这些命令送到内核中。不止如此,Shell 对命令的编辑有自己相对应的编程语言,但是灵活的是用户自身编写由 shell 命令组成的程序也是允许的。Linux 像 windows 一样提供了很多可视化界面有窗口、图标和菜单,大部分控制都是通过鼠标来操作。现在在 Linux 中稍微流行的窗口管理器就是是KDE。而 shell 就像窗口管理器一样,它可以对系统灵活地进行各种管理。不同的 Linux 系统的用户有同的界面或 Shell,来

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号