![LinuxShell的研究与开发【开题报告】_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/9753593e-d327-4c7f-862d-536b6b43bde3/9753593e-d327-4c7f-862d-536b6b43bde31.gif)
![LinuxShell的研究与开发【开题报告】_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/9753593e-d327-4c7f-862d-536b6b43bde3/9753593e-d327-4c7f-862d-536b6b43bde32.gif)
![LinuxShell的研究与开发【开题报告】_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/9753593e-d327-4c7f-862d-536b6b43bde3/9753593e-d327-4c7f-862d-536b6b43bde33.gif)
![LinuxShell的研究与开发【开题报告】_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/9753593e-d327-4c7f-862d-536b6b43bde3/9753593e-d327-4c7f-862d-536b6b43bde34.gif)
![LinuxShell的研究与开发【开题报告】_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/30/9753593e-d327-4c7f-862d-536b6b43bde3/9753593e-d327-4c7f-862d-536b6b43bde35.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计开题报告计算机科学与技术Linux Shell 的研究与开发一、选题的背景、意义Linux 的诞生和发展:Linux 操作系统是UNIX 操作系统的一种克隆系统。 它诞生于 1991 年的 10 月 5 日(这是第一次正式向外公布的时间) 。以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力,现已成为今天世界上使用最多的一种 UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux 操作系统的诞生、 发展和成长过程始终依赖着以下五个重要支柱: UNIX操作系统、MINIX操作系统、GNU计戈ij、POSIX标准和Internet 网络。UNIX 操作系统是美国
2、贝尔实验室的Ken.Thompson 和 Dennis Ritchie 于 1969 年夏在DEC PDP-7小型计算机上开发的一个分时操作系统。当时 Ken Thompson为了能在闲置不用的 PDP-7 计算机上运行他非常喜欢的星际旅行( Space travel )游戏,在 1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,在一个月内开发出了 unix 操作系统的原型。当时使用的是 BCPL 语言(基本组合编程语言) ,后经 Dennis Ritchie 于 1972 年用移植性很强的 C 语言进行了改写,使得UNIX 系统在大专院校得到了推广。MINIX 系统是由 Andrew S.
3、Tanenbaum( AST) 开发的。 AST 是在荷兰 Amsterdam 的 Vrije大学数学与计算机科学系统工作,是ACM 和 IEEE 的资深会员 ( 全世界也只有很少人是两会的资深会员 ) ,共发表了 100 多篇文章, 5 本计算机书籍。 AST 虽出生在美国纽约,但他是荷兰侨民 (1914 年他的祖辈来到美国 ) 。他在纽约上的中学、 M.I.T 上的大学、加州大学Berkeley 分校念的博士学位。由于读博士后的缘故,他来到了家乡荷兰。从此就与家乡一直有来往。后来就在Vrije 大学开始教书、带研究生了。荷兰首都Amsterdam 是个常年阴雨绵绵的城市,而对于AST 来说
4、,这最好不过了,因为这样他就可以待在家里摆弄他的计算机了。 MINIX 是他 1987 年编制的,主要用于学生学习操作系统原理。到 91 年时版本是1.5 。目前主要有两个版本在使用: 1.5 版和 2.0 版,当时该操作系统在大学使用是免费的,但其它用途不是,当然目前都已经是免费的,可以从许多FTP上下载。作为一个操作系统, MINIX 并不是优秀者,但它同时提供了用 C 语言和汇编语言写的系统源代码。这是第一次使得有抱负的程序员或hacker 能够阅读操作系统的源代码,在当时这种源代码是软件商一直小心地守护着的。GNU计戈ij:GNU计戈U和自由软件基金会 (the Free Softwa
5、re Foundation - FSF) 是由 Richard M. Stallman于1984年一手创办的。旨在开发一个类似Unix、并且是自由软件的完整操作系统:GNU系统。(GNU是GNUs Not Unix 的递归缩写,它的发音为 guh-NEW。)各种使用 linux 作为核心的GNU操作系统正在被广泛的使用。虽然这些系统通常被称作Linux,但是严格地说,它们应该被称为GNU/Linux系统。到上世纪90年代初,GNU项目已经开发出许多高质量的免费软件,其中包括有名的 emacs编辑系统、bash shell 程序、gcc系列编译程序、gdb调试程序等等。这些软件为 Linux操作
6、系统的开发创造了一个合适的环境,是 Linux能够诞生的基础之一。以至于目 前许多人都将Linux操作系统称为GNU/Linux操作系统。Linux Shell的基本概念:标准的UNIX shell 是V7(AT&T的第七版)UNIX,在1979年底被提出,且以它的创造 者Stephen Bourne来命名。Bourne shell 是以Algol 这种语言为基础来设计,主要被用 来做自动化系统管理工作。虽然 Bourne shell以简单和速度而受欢迎,但它缺少许多交谈 性使用的特色,例如历程、别名和作业控制。C shell是在加州大学柏克来分校于70年代末期发展而成,而以 2BSD UNI
7、X的部分发行。这个shell主要是由Bill Joy 写成,提供了一些在标准Bourne shell所看不到的额外特色。C shell是以C程序语言作为基础,且它被用来当程序语言时,能共享类似的 语法。它也提供在交谈式运用上的改进,例如命令列历程、别名和作业控制。因为C shell是在大型机器上设计出来,且增加了一些额外功能,所以 C shell有在小型机器上跑得较慢,即使在大型机器上跟Bourne shell比起来也显得缓慢。有了 Bourne shell和C shell 之后,UNIX使用者就有了选择,且争论那一个shell较好。AT&T的David Korn在80年代中期发明了 Korn
8、 shell ,在1986 年发行且在1988 年成为正式的部分 SVR4 UNIX。Korn shell 实际上是Bourne shell 的超集,且不只可在 UNIX系统上执行,同时也可在OS/2、VMS和DOS上执行。它提供了和 Bourne shell向上兼容的能力,且增加了许多在C shell上受欢迎的特色,更增加了速度和效率。Kornshell已历经许多修正版,要找寻用户使用的是那一个版本可在ksh提示符号下按Ctrl-v键。在大部份的 UNIX系统,三种著名且广被支持的shell 是Bourne shell(AT&T shell ,在 Linux 下是 BASHb C shell
9、(Berkeleyshell,在 Linux 下是 TCSH和 Korn shell(Bourneshell的超集)。这三种shell 在交互(interactive)模式下的表现相当类似,但作为命令文件语言时,在语法和执行效率上就有些不同了。Bourne shell是标准的UNIX shell ,以前常被用来做为管理系统之用。大部份的系统 管理命令文件,例如 rc start 、stop与shutdown者B是Bourne shell的命令,且在单用户模式(single user mode) 下以root 登录时它常被系统管理员使用。Bourne shell 是由AT&T发展的,以简洁、快速
10、著名。Bourne shell提示符号的默认值是 $。C shell是柏克莱大学(Berkeley)所开发的,且加入了一些新特性,如命令列历程 (history)、别名(alias)、内建算术、文件名完成(filename completion)、和作业控制(job control)。对于常在交互模式下执行shell的使用者而言,他们较喜爱使用C shell ;但对于系统管理者而言,则较偏好以Bourne shell来做命令,因为 Bourne shell命令比Cshell命令来的简单及快速。C shell提示符号的默认值是 %。Korn shell 是 Bourne shell 的超集(su
11、perset),由 AT&T 的 David Korn 所开发。 它增加了一些特色,比C shell更为先进。Korn shell的特色包括了可编辑的历程、别名、函数、正规表达式万用字符(regular expression wildcard) 、内建算术、作业控制 (jobcontrol)、协同处理(coprocessing) 和特殊的纠错功能。Bourne shell 几乎和 Korn shell完全向上兼容(upward compatible),所以在 Bourne shell下开发的程序仍能在Kornshell 上执行。Korn shell提示符号的默认值也是$。在Linux 系统使用
12、的Korn shell 叫做 pdksh ,它是指 Public Domain Korn Shell 。除了执行效率稍差外,Korn shell在许多方面都比 Bourne shell 为佳;但是,若将Korn shell与C shell相比就很困难,因为二者在许多方面都各有所长,就效率和容易使 用上看,Korn shell是优于C shell ,相信许多使用者对于C Shell的执行效率都有负面的印象。国内外研究现状:Linux作为一种开源的操作系统,在国内外享有较高的声誉,其重要地位是其他操作系 统所不可取代的。正是由于Linux操作系统的开源性,在国内外各大研究机构对其进行了不断的开发和
13、完善,逐步形成了今天的Linux操作系统,其功能非常强大,运行非常稳定。国内外均成立了专门的研究机构对其进行开发和研究。而近年来由于网络技术的兴起,Linux系统也发展为一种可以进行资源共享和交互的网络平台。在资源共享的同时,网络的安全已 经成为科研机构研究的重点, 并且推出了一系列的网络管理控制系统, 特别是实现对网络数据的管理和控制。其中以网络数据管理和控制过滤器IPTABLES最为出名。可以说就目前国内外研究的情况来看Liunx 方面的网络管理控制系统的开发技术已经相当成熟, 并且正在不断的进行完善。在 UNIX/linux Shell 中主要有这几类 shell : Bourne sh
14、ell (bsh) C shell ( csh) Korn shell ( ksh) Bourne Again shell ( bash) POSIX shell ( sh) TENEX/TOPS C shell ( tcsh) TC Shell(tesh) Z Shell(zsh )各主要操作系统下缺省的 shell:AIX 下是 Korn Shell 。Solaris 和 FreeBSD缺省的是 Bourne shell 。HP-UX缺省白勺是 POSIX shell 。Linux 是 Bourne Again shell 。未来发展趋势:目前, Linux 技术已经成为 IT 技术发展的
15、热点,投身于Linux 技术研究的社区、研究机构和软件企业越来越多,支持Linux 的软件、硬件制造商和解决方案提供商也迅速增加,Linux 在信息化建设中的应用范围也越来越广, Linux 产业链已初步形成,并正在得到持续的完善。随着整个Linux 产业的发展, Linux 技术也处在快速的发展过程中,形成了若干了技术热点。UNIX作业系统的SHELL大致可分为两大系统,一是1970年代前期由美国贝尔实验室(BELL LAB)所发展的sh(Bourne Shell), 它是UNIX系统中的标准 SHELL此一系统彳麦来又 发展出 ksh(Korne Shell) 、 bash(Bourne
16、Again Shell) 等功能更多的介面;另一系 统是美 国柏克来大学(Berkekey)在1970年代彳麦期所发展的csh(C Shell),和它属於同一系统的有tcsh 等。 无论上述的那一种 shell , 它的基本功能与作用都是相同的, 它们之间的不同处可能在於对同一动作处理程序上的不同 ( 会影响 命令处理的速度) 、所提供内键命令及变数的或多或寡等, 其中内部命令与变量的多少直接影响到 shell 功能的多少, 是使用者在使用时最容易直接感受到的。在UNIX系统中,使用者可视自己的需要执行sh、ksh、bash、csh或tcsh来代替原先使用的 shell 、改变正在使用的环境;
17、也可 以用 chsh 指令、输入想使用的 shell 的路径及名称(如/bin/csh ,在Y11-Y14机器上还需输入个人使用者的密码),改变以彳麦每次login时所使用的 shell 、使自己所使用的环境能最满足自己使用 上的需要。本课题的意义就是通过编写简单的 shell 程序,更加了解shell 的执行过程,加深对shell 命令的理解,进而进一步加深对 linux 操作系统的熟练程度。二、研究的基本内容与拟解决的主要问题研究的基本内容:在 Linux 环境下编写一个简单的 shell 程序,达到以下要求:( 1)能够执行外部程序命令,命令可以带参数;( 2)能够实现管道和输入输出重定
18、向功能。拟解决的主要问题:实现的 shell 能够解释并执行下列命令:( 1) ls 列目录功能:显示文件和目录的信息ls 以默认方式显示当前目录文件列表ls -a 显示所有文件包括隐藏文件ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls -lh 显示文件的大小,以容易理解的格式印出文件大小(例如1K 234M 2G)ls -lt 显示文件,按照修改时间排序( 2) cp 文件拷贝功能: copy 文件cp source target 将文件 source 复制为 targetcp /root /source.将/root 下的文件 source复制到当前目录cp
19、 ? av soure_dir target_dir将整个目录复制,两目录完全一样( 3) rm 删除文件功能:删除文件、或目录rm file删除某一个文件rm -f file 删除时候不进行提示。可以于r 参数配合使用rm -rf dir 删除当前目录下叫 dir 的整个目录( 4) who 显示当前登录的用户信息功能:显示登录用户例如:# whozhoulj pts/0 Mar 13 21:24 (09)( 5) cat 显示文件内容显示文件的内容,和DOS勺type相同cat file三、研究的方法与技术路线、研究难点,预期达到的目标研究的方法与技术路线:熟悉Linu
20、x操作系统下的C语言高级编程,了解Linux操作系统的shell执行方式,熟 练运用C语言对字符串进行处理。学习并掌握 Linux C语言系统库函数的用法,熟练运用某 些库函数来完成设计。研究难点:实现管道和输入输出重定向。预期目标:在 Red Hat Linux 操作系统下, 设计一个并实现一些简单的 shell 命令, 具有列出文件,复制文件, 显示文件内容,删除文件和目录等功能,能识别并提示错误的命令,并达到初步实用的水平。四、论文详细工作进度和安排第七学期第10 周至第 18 周( 2011 年 01 月 06 日前) :文献检索和资料收集,完成毕业论文(设计)文献综述、开题报告和外文
21、翻译;第八学期 第 1 周 至第 3 周 ( 2011 年 03 月 11 日前) : 撰写论文提纲, 完成毕业论文 (设计)初稿、需求分析和概要设计;第八学期 第 4 周 至第 12 周( 2011 年 05 月 13 日前) :详细设计、系统调试、和毕业论文(设计)完成定稿;第八学期第 13 周( 2011 年 05 月 20 日前) :完成应用软件系统的设计和毕业论文(设计)送指导老师和评阅老师评阅,准备答辩;第八学期第 14 周:参加毕业论文(设计)答辩。五、主要参考文献:1 坦思利 . LINUX 与 UNIX Shell 编程指南 M. 北京: 机械工业出版社, 2000.2 Mark G. Sobell. Linux 命令、编辑器与Shell 编程 M. 北京:清华大学出版社, 2007.3 Mark G. Sobell. Linux 命令、编辑器与 shell编程(第2版)M.清华大学出版社, 2010.4 卧龙小三 . 实战 Linux Shell 编程与服务器管理M. 北京:电子工业出版社, 2010.5 (美) 布卢姆 . Linux 命令行和 shell 脚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国电子废弃物回收拆解服务行业头部企业市场占有率及排名调研报告
- 2025-2030全球微型矩形电连接器行业调研及趋势分析报告
- 2025-2030全球点型可燃气体和有毒气体探测器行业调研及趋势分析报告
- 2025年全球及中国电磁精密仪器行业头部企业市场占有率及排名调研报告
- 2025-2030全球激励应用程序行业调研及趋势分析报告
- 2025-2030全球半导体用PFA阀门行业调研及趋势分析报告
- 2025-2030全球送粉式金属3D打印机行业调研及趋势分析报告
- 2025年全球及中国滑动芯组件行业头部企业市场占有率及排名调研报告
- 2025-2030全球工业级3D传感器行业调研及趋势分析报告
- 2025年全球及中国桌面出版 (DTP) 服务行业头部企业市场占有率及排名调研报告
- 2025年度厨师职业培训学院合作办学合同4篇
- 《组织行为学》第1章-组织行为学概述
- 浙江省杭州市9+1高中联盟2025届高三一诊考试英语试卷含解析
- 市场营销试题(含参考答案)
- 2024年山东省泰安市高考物理一模试卷(含详细答案解析)
- 护理指南手术器械台摆放
- 肿瘤患者管理
- 四川省成都市高新区2024年七年级上学期语文期末试卷【含答案】
- 2025年中国航空部附件维修行业市场竞争格局、行业政策及需求规模预测报告
- 2024年计算机二级WPS考试题库380题(含答案)
- (高清版)DZT 0399-2022 矿山资源储量管理规范
评论
0/150
提交评论