欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Linux操作系统课程设计毕业设计论文.docx

    • 资源ID:25699986       资源大小:15.34KB        全文页数:13页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Linux操作系统课程设计毕业设计论文.docx

    Linux操作系统课程设计毕业设计论文 课程设计报告 课程名称Linux操作系统课程设计 指导教师 起止日期2022-03-21至2022-06-13 学院信息与通信工程学院 专业电子信息工程 学生姓名 班级/学号 成绩 指导老师签字 1. 课程设计概述 课程编号:0BS17101 课程性质:专业基础课,必修 适用专业:电子信息工程 学时数:16 学分:1 指导教师:段中钰 1.1课程设计的目的 Linux操作系统课程是电信专业的一门重要的专业基础课。本课程设计是Linux操作系统课程在实践教学环节上的必要补充。本课程设计包含了一组综合设计实验,其目的是通过实践加深学生对操作系统原理的理解,提高综合运用Linux系统解决实际问题的能力。 1.2课程设计的内容 本课程设计的内容与理论课程讲授的内容相配合,同步进行。在我们掌握Linux基本知识的基础上,通过相应的实验内容来加深对所学知识的理解,提高实际应用能力。除了理论课程已经学习过的内容之外,课程设计还包含了部分新的知识内容,以煅炼我们自行学习和研究的能力。这部分需要我们通过查阅man手册、教材、以及互联网上的资料等自行学习。 课程设计分为如下3个题目: 1.Linux基本操作:利用Shell命令进行文件处理和C编程等基本操作,目的是熟悉基于命令 的Linux操作方式,加深对命令的理解。 2.Linux进程控制:利用进程控制相关的系统调用编程进行进程控制实验,观察进程从创建、 运行到终止的控制过程,加深对进程概念的理解。 3.Linux Shell程序设计:利用Shell语言编写脚本实现综合应用,提高Linux应用水平。 本次为实验一 1.3设计原理 本实验的目的是使学生理解Shell程序的执行环境和执行过程,掌握Shell语言的一般语法规则,能用bash编写简单的shell程序。 实验用时5学时,其中讲解2学时,上机3学时。上机内容包括: 编写一个shell脚本routine,实现日程提醒功能; 编写一个shell脚本makememo,实现备忘录管理功能; (选作)修改脚本,改进或增加新的功能。 2.实验步骤 按以下步骤进行实验,记录关键步骤的运行结果。 2.1 基本操作(本实验在/2022010923/exp3/目录下进行。) 2.1.1编辑备忘录 在exp3目录下,编辑一个备忘录文件memo,其中的每行为一项日程安排,格式是:yyyy-mm-dd日程提示 以下是一个memo文件的例子: 2022-06-03 mother's birthday 2022-06-08 lunch with joe 2022-06-12 call zhang 2022-06-14 meeting 4pm 2022-06-15 shopping with mary 2.1.2编写日程提醒脚本 在exp3目录下编写一个Shell脚本routine,完成以下功能: 2.1.2.1 显示初启信息 脚本启动时首先输出一些初始信息,包括程序名称与编者、当前的日期与时间、适当的问候语等,格式自定。例如: * routine v1.0 by your-sid* Good Evening!用户名 Today is Tue Mar 12 19:25:30 CST 2022 提示:根据当前时间显示问候语的方法参考教材例10.48,当前用户名是$USER(echo $USER),当前日期时间用date命令求出(echo Today isdate)。 图 1 2.1.2.2 提醒用户当日的日程安排 查询备忘录文件memo,显示今日的日程安排(如果有的话)。可参考实验方法说明1)。2.1.3运行脚本 2.1. 3.1 执行脚本 为routine脚本设置执行权(chmod 755 routine),运行routine脚本(./routine),调试并检查运行结果。提示:变换memo文件内容,检查日程提示是否正确。 图 2 2.1. 3.2 自动执行脚本 编辑主目录下的.bashrc文件,将/your-sid/exp3/routine命令行加到文件末尾(注意将your-sid 替换为你的学号)。重新启动“终端”,检查脚本是否能成功地自动执行。 图3 2.1.4编写备忘录管理脚本 在exp3目录下编写一个Shell脚本makememo,完成以下功能: 2.1.4.1 显示初启信息及菜单 显示程序初启信息(程序名、编者学号等信息),显示程序的菜单,例如: makememo v1.0 by your-sid * MENU* 1.xxxxx 2. xxxx 3. xxxxxx 4. * 2.1.4.2 接收并处理用户的输入 根据用户的输入的菜单编号,执行相应的功能。 2.1.5运行脚本 运行./makememo,调试并检查运行结果。 图 4 图 5 2.1.6(选做)修改脚本 修改routine和/或makememo脚本,改进或添加功能。可做的修改包括改善界面,增加查询功能(如查询某日或某月的日程安排),完善添加与删除功能(如增加对输入错误的处理),以及其他你认为可以做的改进。 图 6 实验结论与评价 这次课设实验很有意思,我学会了如何使用简单的linux编写shall程序,使用字符串比较命令时一定要注意格式一致。定义文件路径时必须与实际文件路径一致。 3.程序清单 3.1 routine echo "*routine v1.0 by 2022010923*" hour=date +%H case $hour in 08|09|10|11|12) echo "Good Morning!$USER" 13|14|15|16|17) echo "Good Afternoon!$USER" 18|19|20|21|22) echo "Good Evening!$USER" *) echo "Hello!$USER" esac echo Today is date echo -n "memo:" day=date +%F grep $day $HOME/2022010923/exp3/memo | echo Nothing. 3.2 makememo #!/bin/bash echo "makememo v1.0 by 2022010923" MEMOFILE=$HOME/2022010923/exp3/memo add_memo() echo -n "输入要添加的日程项:" read item echo $item >> $MEMOFILE sort -o $MEMOFILE $MEMOFILE echo "日程添加以完成" del_by_date() echo -n "输入要删除的日程项(dd/mm/yy):" read item sed -i "/$item/d" $MEMOFILE echo "日程删除完成" del_by_num() set wc -l $MEMOFILE echo -n "输入要删除的日程项编号(1-$1):" read num sed -i "$numd" $MEMOFILE echo "日程删除以完成" print_menu() echo "* MENU *" echo "1. 显示日程 2. 添加日程" echo "3. 删除日程(按日期) 4. 删除日程(按序号)" echo "5. 显示菜单 6. 退出" echo "*" print_menu while true do echo -n "输入操作选择(1-6):" read choice case $choice in 1) cat -n $MEMOFILE; 2) add_memo; 3) del_by_date; 4) del_by_num; 5) print_menu; 6) echo Bye!; break; *) echo Illegal Option; esac done 3.3 makememo(选作) #!/bin/bash echo "makememo v1.0 by 2022010923" MEMOFILE=$HOME/2022010923/exp3/memo add_memo() echo -n "输入要添加的日程项:" read item echo $item >> $MEMOFILE sort -o $MEMOFILE $MEMOFILE echo "日程添加以完成" del_by_date() echo -n "输入要删除的日程项(yyyy-mm-dd):" read item sed -i "/$item/d" $MEMOFILE echo "日程删除完成" del_by_num() set wc -l $MEMOFILE echo -n "输入要删除的日程项编号(1-$1):" read num sed -i "$numd" $MEMOFILE echo "日程删除以完成" print_menu() echo "* MENU *" echo "1. 显示日程 2. 添加日程" echo "3. 删除日程(按日期) 4. 删除日程(按序号)" echo "5. 显示菜单 6. 查询日程" echo "7. 退出" echo "*" chaxun() echo " 请输入您所要查询日程的日期!(yyyy-mm-dd):" read myday if grep -q "$myday" $MEMOFILE then echo "-日程查询-" sed -n "/$myday/p" $MEMOFILE echo "日程查询已完成" echo "-" else echo "-日程查询-" echo "$myday 没有日程!" echo "谢谢!" echo "-" fi print_menu while true do echo -n "输入操作选择(1-7):" read choice case $choice in 1) cat -n $MEMOFILE; 2) add_memo; 3) del_by_date; 4) del_by_num; 5) print_menu; 6) chaxun; 7) echo Bye!; break; *) echo Illegal Option; esac done 参考文献 1张玲. Linux操作系统基础、原理与应用,北京:清华大学出版社,2022年2月。 2Neil Matthew, Richard Stones. Linux程序设计(第3版). 陈健等译. 北京:人民邮电出版社, 2022. 3Mark G. Sobell. Linux命令、编辑器与Shell编程. 杨明军等译. 北京:清华大学出版社, 2022. 4。按以上文献规范书写

    注意事项

    本文(Linux操作系统课程设计毕业设计论文.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开