Linux下微型Shell设计实现开题报告
1.设计(创作)的目的和意义
目的:
运用flex词法分析和Linux C多线程编程技术,完成一个具有扩展功能的Linux Shell。
意义:
Linux下有很多成熟的Shell,比如Bourne Shell,Bourne Again Shell,C Shell等,但这些Shell都是开源组织或机构开发维护的,很少会有个人做一个Linux Shell。
本次设计为个人写的一个Linux Shell,可以实现Shell最基本的功能,并且整合一些常用的命令,使它用起来更加方便。通过这个过程,不仅可以清晰地了解Shell工作原理,而且对Linux C多进程编程更加熟悉。此外,Linux的理念就是开源和共享,完成本次设计后,把源代码在网上共享,可以让更多人看到,让许多人参与进来,完善此次设计,互相学习,互相提高。
2.有关的国内外设计(创作)情况
Unix-like系统中最常用的几种Shell是Bourne Shell,C Shell,Korn Shell,三种Shell各有优缺点。
Bourne Shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne Shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。
C Shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。
Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。
Linux操作系统缺省的Shell是Bourne Again Shell(Bash),它是Bourne shell的扩展,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
3.设计(创作)的主要内容
Shell是一个命令解释器,顾名思义,就是解释命令的工具。用户登录系统后,就会根据相关配置文件选择相应的Shell,然后打印相关信息,等待用户输入命令,命令输入完毕后回车,Shell根据输入的命令是内部命令还是外部应用程序,执行相应的动作,如果没有找到输入的命令,则返回错误信息,继续等待输入。
本次设计主要是在Linux环境下用C语言实现一个Shell解释器,实现Linux Shell中最基本的功能,同时扩展一些功能,整合一些常用的命令。例如:用mycmd 一条命令来代替 cd,pwd,ls 等几条命令,然后根据mycmd的选项来区分cd,pwd,ls等命令。
4.拟采用的技术手段或艺术手法
gcc,gdb,make 等工具的使用。
flex 词法分析。
C语言程序设计。
Linux C的多进程编程。
工作进度安排
起讫日期 主要工作内容
2012.9.27——2012.11.16 选题、调研、收集资料
2012.11.17——2013.3.1 论证、开题、撰写开题报告
2013.3.2——2013.4.19 设计(创作)作品、撰写报告
2013.4.20——2013.5.20 教师审阅、修改、完成
2013.5.21——2013.5.31 设计(创作)答辩
主要参考资料:
[1]鸟哥.鸟哥的Linux私房菜(第三版)[M].北京:人民邮电出版社,2010.
[2]Dennis Ritchie等.C程序设计语言(第二版•新版)[M].北京:机械工业出版社,2004.
[3]史蒂文斯等.UNIX环境高级编程[M].北京:人民邮电出版社,2006.
[4]利文.flex与bison(中文版)[M].南京:东南大学出版社,2011.
[5]马修等.Linux程序设计(第四版)[M].北京:人民邮电出版社,2010.
[6]达斯.UNIX原理与应用(第四版)[M].北京:清华大学出版社,2008.
[7]杨宗德等.Linux高级程序设计(第二版)[M].北京:人民邮电出版社,2009.
目的:
运用flex词法分析和Linux C多线程编程技术,完成一个具有扩展功能的Linux Shell。
意义:
Linux下有很多成熟的Shell,比如Bourne Shell,Bourne Again Shell,C Shell等,但这些Shell都是开源组织或机构开发维护的,很少会有个人做一个Linux Shell。
本次设计为个人写的一个Linux Shell,可以实现Shell最基本的功能,并且整合一些常用的命令,使它用起来更加方便。通过这个过程,不仅可以清晰地了解Shell工作原理,而且对Linux C多进程编程更加熟悉。此外,Linux的理念就是开源和共享,完成本次设计后,把源代码在网上共享,可以让更多人看到,让许多人参与进来,完善此次设计,互相学习,互相提高。
2.有关的国内外设计(创作)情况
Unix-like系统中最常用的几种Shell是Bourne Shell,C Shell,Korn Shell,三种Shell各有优缺点。
Bourne Shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne Shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。
C Shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。
Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。
Linux操作系统缺省的Shell是Bourne Again Shell(Bash),它是Bourne shell的扩展,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
3.设计(创作)的主要内容
Shell是一个命令解释器,顾名思义,就是解释命令的工具。用户登录系统后,就会根据相关配置文件选择相应的Shell,然后打印相关信息,等待用户输入命令,命令输入完毕后回车,Shell根据输入的命令是内部命令还是外部应用程序,执行相应的动作,如果没有找到输入的命令,则返回错误信息,继续等待输入。
本次设计主要是在Linux环境下用C语言实现一个Shell解释器,实现Linux Shell中最基本的功能,同时扩展一些功能,整合一些常用的命令。例如:用mycmd 一条命令来代替 cd,pwd,ls 等几条命令,然后根据mycmd的选项来区分cd,pwd,ls等命令。
4.拟采用的技术手段或艺术手法
gcc,gdb,make 等工具的使用。
flex 词法分析。
C语言程序设计。
Linux C的多进程编程。
工作进度安排
起讫日期 主要工作内容
2012.9.27——2012.11.16 选题、调研、收集资料
2012.11.17——2013.3.1 论证、开题、撰写开题报告
2013.3.2——2013.4.19 设计(创作)作品、撰写报告
2013.4.20——2013.5.20 教师审阅、修改、完成
2013.5.21——2013.5.31 设计(创作)答辩
主要参考资料:
[1]鸟哥.鸟哥的Linux私房菜(第三版)[M].北京:人民邮电出版社,2010.
[2]Dennis Ritchie等.C程序设计语言(第二版•新版)[M].北京:机械工业出版社,2004.
[3]史蒂文斯等.UNIX环境高级编程[M].北京:人民邮电出版社,2006.
[4]利文.flex与bison(中文版)[M].南京:东南大学出版社,2011.
[5]马修等.Linux程序设计(第四版)[M].北京:人民邮电出版社,2010.
[6]达斯.UNIX原理与应用(第四版)[M].北京:清华大学出版社,2008.
[7]杨宗德等.Linux高级程序设计(第二版)[M].北京:人民邮电出版社,2009.
毕业设计客服咨询
清风毕业设计网提供的所有毕业设计作品均从学校直接征集或原创开发,本团队集多年从事毕业论文工作的经验及海量的资料,结合强劲的毕设开发论文写作管理团队,全面面向高校学生提供毕业设计以及快速周到的毕业设计售后服务。
购买后获取论文或有定做需求请加
客服微信号:hastp888
添加好友时请备注“论文”
客服微信号:hastp888
添加好友时请备注“论文”
作品目录排行