2 baidu 25261769 baidu_25261769 于 2017.01.10 16:17 提问

Linux课程设计 用c语言实现 1C

求源代码
1.Linux上的bash和Windows中的命令行有很大的不同。但是两者都有完成相似任务的命令,比如Linux上bash的ls命令的功能,类似于Windows命令行中的dir命令的功能。用C语言写一个简单的Linux终端软件,接收用户发出的类似于Windows命令行中的命令,转换成对应的Linux命令加以执行,并将执行的结果回显给用户。比如,用户输入“dir”,程序实际返回“ls”的内容。
2.软件包含前、后台两个程序,用户启动前台程序时,前台程序自行启动后台程序。前台程序提供界面,负责接收用户输入,对输入进行转换,并向后台程序发出实际要执行的指令,后台负责执行实际的指令,并将指令执行的结果返回给前台程序,由前台程序在终端显示。

成果要求
1.前台程序通过fork和execl系统调用启动后台程序。
2.前台程序创建消息队列和命名管道,通过消息队列向后台程序发送经过转换的用户命令;通过命名管道从后台程序获取命令执行的结果,并显示在终端。后台程序可以通过popen来执行转换后的命令。
3.至少实现如下Windows——Linux对照命令:dir——ls,rename——mv,move——mv,del——rm,cd——cd(pwd),exit——exit。
4.当用户输入exit时,前台程序指示后台程序结束,在后台程序结束后,前台程序退出;在此之前,用户的输入都被作为一条命令进行处理。

1个回答

a193314
a193314   2017.01.11 19:00

...APUE 上有一个例子,在开始那几页,你拿来改改就好了。或者更简单,你用popen去执行对应的Linux 命令,将信息从管道读回来打印一下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Linux- 用C语言实现的简单Web服务器源代码
无意间从一个论坛里面看到的,放到这里分享,版权属于作者。 作者姓名:熊第彬;Email:mushan520@gmail.com
linux下面用C语言设计实现一个计算器
我们已经知道了计
linux下用c语言实现简单的FTP客户端
再linux下用c语言实现简单的ftp 实现了二进制文件的传输,上传 列举文件目录,推出等功能
操作系统课程设计-二级文件系统,Linux平台版本,c语言
Linux平台版本,在CentOS6.9测试通过。
数据结构课程设计图书管理系统c语言实现
一个完整的数据结构课程设计,包括全部可运行代码和课程设计文档,完整的流程图。本系统采用c语言编写,采用排序二叉树、单向链表等作为主要数据结构,采用了二分查找等高效算法,人机交付界面友好,还等什么呢。。。
学生成绩管理系统课程设计(C语言,链表实现)
#include #include #include #include #include struct stu { char num[11]; char name[8]; int maths; int physics; int english; int circuit; int computer; float av
linux下的简单聊天室源代码(c语言实现)
linux下的简单聊天室源代码(c语言实现),功能比较简单,适合初学linux网络编程的同学参考
C语言连接MySQL数据库(课程设计总结)
刚结束课程设计,也预示着
哈希表的设计与实现(C语言课程设计)
本人使用C语言做的一个哈希表的课程设计,希望对大家有用。
操作系统文件系统C语言实现的部分函数(一)
void startsys() { int i; FILE *fp; char str[9]; myvhard = (unsigned char *)malloc(SIZE*sizeof(char)); /*申请 1M空间*/ if((fp=fopen("myfsys.dat","rb")) == NULL) { printf("myfsys文件系统不存在,现在开始创建文件系统\n...