操作系统课程设计要求
一.设计目的
熟悉Linux编程环境,加强对Linux命令的理解及函数的运用
二.设计内容
1. 在Linux环境下模拟实现简单命令解释器。
(1)要求实现的基本命令包括:
pwd //显示当前所在目录的路径名
list <目录名> //列出指定目录名中的所有目录及文件
cd <目录名或路径> //改变当前工作目录
mkdir <目录名> //新建目录
rmdir <目录名> //删除目录
exit //退出命令解释程序
(2)可选做的扩展命令包括:
rename <旧文件名> <新文件名> //重命名一个文件或目录
copy <已存在的文件名> <副本文件名或路径> //复制一个已存在的文件
find <目录> -name <待查找的文件名> //在指定的目录及其子目录中查找指定的文件,
并输出查找到的文件的绝对路径。
功能:除了find基本完成
运行截图:
1.显示当前路径
2.列出所在目录的所有文件
3.改变当前工作目录
4.新建目录
5.删除目录
6.复制文件
6.重命名文件
代码用C++写的,部分代码有注释方便同学们理解
int do_rmdir(){ //删除目录
if(strcmp("", word[1]) == 0){ //不带参数
cout<<"请输入正确的目录名!"<<endl;
return -1;.
}
if(rmdir(word[1]) == -1){ //删除目录失败,要么目录不存在,要么目录下不为空
cout<<"删除失败!目录不存在或目录下不为空!"<<endl;
return -1;
}else{
cout<<"删除成功!"<<endl; //删除目录成功
return 0;
}
}
int do_pwd(){ //显示当前目录名
char buffer[M];
getcwd(buffer, sizeof(buffer)); //获取当前工作目录的绝对路径
cout<<buffer<<endl;
return 0;
}