操作系统的课程设计,请大家给点思路,谢谢
Unix shell是unix的命令解释程序,用于让用户以一种友好的方式运行程序和执行命令。本课程设计要求学生在linux下写一个命令解释程序,实现Ksh最基本的功能。即:允许用户打入一个可执行的程序的名字以及其命令行参数,执行这个程序。同时实现一部分内部命令(比如cd,详见要实现的命令),以及输入输出重定向等功能。具体功能要求如下:
基本功能要求
1)利用C语言在Linux上设计一个简单的命令解释程序,完成如下功能:
dir <directory> 列目录
cd <>改变当前目录
pwd 显示当前目录名
md <directory> 创建一个目录
copy <source> <target>复制文件和目录
find 在指定的目录及其子目录中查找特定的文件
more <file>一页一页地显示文件
date 显示当前日期
time显示当前时间
ren <old name> <new name>重命名一个文件或目录
del <file or directory>删除一个文件和目录
exit 退出命令解释程序。
执行一个程序
2)命令解释程序的提示符为:@
3)命令解释程序把命令行解释为内部命令或外部命令(要执行的程序)。内部命令直接在命令解释程序中处理,外部命令的执行则由命令解释程序通过fork()创建一个子进程,然后在子进程中调用exec执行一个程序。
其它功能要求
1)命令解释程序应能够支持输入输出重定向。
2) 命令解释程序支持后台运行程序。
3) 命令解释程序支持管道。
4) 命令解释程序不能被ctrl+c打断。