- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3.2 显示当前一系列进程
3.3.2 显示当前一系列进程
PAGE #
3.1.3 文件重命名
3.1.3 文件重命名
PAGE #
实验课题 1:Linux 命令解释程序设计与实现
实验报告
实验内容及要求
Linux 命令解释程序功能设计要求:
选取和设计实现一组内部命令(五条以上) ;
外部命令执行采用直接调用 exec 系统调用的方式来实现;
至少一条内部命令采用直接调用相应系统调用的方式来实现;
系统环境变量(至少包括当前目录)支持;
在 Linux 操作系统上启用(或替换原命令解释程序 Shell )测试验 证。
开发、运行及测试环境
虚拟环境软件 : Oracle VM VirtualBox
操作系统: Oracle Linux 6.5
编辑器: vim
编译器: gcc
实验步骤
采用 c 语言编写该 Linux 命令解释程序。首先包含 unistd.h 、 sys/syscall.h 等头文件以及完成各个功能的函数声明。主程序中利用循环结 构完成不限次的命令提示符显示和命令输入,并判别输入的命令是否合法,是 内部命令还是外部命令。将 Linux 命令解释程序的各个功能封装成函数,完成 具体的命令执行处理。实现具体功能步骤如下。
采用间接调用实现的内部命令
显示指定目录下文件列表
设计该命令关键词为“ ls ”, 功能为用户输入该命令后,指定具体的目录路 径,可显示在该目录下的文件列表,并将文件编号显示,格式为“ file 编号 文件名”,每行显示一个文件的文件名。如该过程中出现错误导致不能显示文件 列表则输出具体错误提示。采用间接调用相应系统调用的方式将该功能完成后 封装为 void list_() 函数。
显示当前路径
设计该命令关键词为“ pwd”, 功能为用户输入该命令后,在下一行显示当 前路径并回车换行。采用间接调用相应系统调用的方式将该功能完成后封装为 void pwd_() 函数。
设计该命令关键词为“ rename”, 功能为用户输入该命令后,在下一行显示 “ pleace input the old file name: ”,用户需输入需要重命名的文件名,然
后显示“ pleace input the new file name: ”,用户需输入该文件的新的文件
名,即可完成对文件的重命名。完成后显示提示重命名工作失败或成功。采用 间接调用相应系统调用的方式将该功能完成后封装为 void rename_() 函数。
显示输入内容
设计该命令关键词为“ echo” , 功能为用户输入该命令后,输入空格,然后 输入需要显示的内容,即可在下一行显示上述用户希望输出的内容并回车换 行。采用间接调用相应系统调用的方式将该功能完成后封装为 void echo_() 函 数。
使用帮助
设计该命令关键词为“ help ” , 功能为用户输入该命令后,然后显示本命令 解释程序的合法命令及其具体的功能说明。采用间接调用相应系统调用的方式 将该功能完成后封装为 void help_() 函数。
退出程序
设计该命令关键词为“ exit ”或“ quit ”, 功能为用户输入该命令后,显示 “ thank you for using! bye~ ”,之后该命令解释程序( Shell )退出到 Linux
操作系统上的原命令解释程序 Shell 。采用间接调用相应系统调用的方式完 成。因该功能代码较简单直接在主程序中实现并未封装为函数。
设置和初始化系统环境变量
此处略,详见下文 3.4 系统环境变量支持中的说明。
采用直接调用的内部命令
文件拷贝
设计该命令关键词为“ copy” , 功能为用户输入该命令后,然后显示 “ pleace input the file name to be copied: ”,用户输入需要复制的文件的
文件名,然后显示“ pleace input the new file name: ”,用户输入新拷贝文
件的文件名,即可完成文件的拷贝。如该过程中出现错误导致文件拷贝不成功 则输出具体错误提示。采用直接调用系统调用的方式将该功能完成后封装为 void copy_() 函数。
外部命令
显示环境变量
设计该命令关键词为“ env”, 功能为用户输入该命令后,然后显示出所有 的系统环境变量,每行显示一个。采用直接调用 exec 系统调用的方式将该功 能完成后封装为 int environ_() 函数。
4.3.2 显示当前一系列进程
4.3.2 显示当前一系列进程
PAGE #
4.1.3 文件重命名
4.1.3 文件重命名
PAGE #
设计该命令关键词为“ jobs ”, 功能为用户输入该命令后,然后显示出当前 一系列进程和子进程。采用直接调用 exec 系统调用
您可能关注的文档
- (名师整理)最新语文中考《叙事性散文阅读之“要点概括”解题指导》专题训练(含答案解析).docx
- (安全生产)安全生产先进单位申报材料.docx
- (完整)七年级上册人教版英语课后单词表.docx
- (完整)八年级物理温度计习题精选.docx
- (完整)课标要求初中必背古诗文61首.docx
- (完整word)飞花令(小学生必背古诗75首)注音版.docx
- (完整word版)22《我们奇妙的世界》教案.docx
- (完整word版)借款民事起诉状范文.docx
- (完整word版)初中英语首字母填空(附标准答案).docx
- (完整word版)软件开发应知应会-84分.docx
- 2025至2030中国移动治疗台行业发展研究与产业战略规划分析评估报告.docx
- 2025至2030链激酶行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030爆炸物探测扫描仪行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030四川省智能制造行业细分市场及应用领域与趋势展望研究报告.docx
- 2026届高三二轮复习试题政治大单元突破练1生产资料所有制与分配制度含解析.docx
- 2026届高三二轮复习试题政治大单元突破练16哲学基本思想与辩证唯物论含解析.docx
- 2026届高三二轮复习试题政治大单元突破练2社会主义市场经济体制含解析.docx
- 浙江省衢州市五校联盟2025-2026学年高二上学期期中联考技术试题-高中信息技术含解析.docx
- 浙江省金丽衢十二校2026届高三上学期11月联考政治试题含解析.docx
- 2026届高三二轮复习试题政治大单元突破练7领导力量:中国共产党的领导含解析.docx
原创力文档


文档评论(0)