操作系统课程设计--在Linux环境下模拟实现简单命令解释器(C++代码)

操作系统课程设计要求

一.设计目的

熟悉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;
}

个人课程设计成绩如下:

下载链接:
https://download.csdn.net/download/Wwt819635881/13112965?spm=1001.2014.3001.5503

觉得好用的同学,可以打赏下

  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这是两个用批处理方式实现的目录比较工具: 工具一:sha1comv3.bat 接受两个目录参数,计算两个目录里每个文件的 sha1 值,并给出报表文件 sha1v3.txt,使用方法: sha1comv3.bat 根据这 sha1comv3.bat 生成的报表文件 sha1v3.txt,可以找现两个目录中 1:同名而且 sha1 相同的文件; 2:同名但是 sha1 不同的文件; 3:不同名但是 sha1 相同的文件; 4:同一目录中不同名但是 sha1 相同的文件。 工具二:md5comv3.bat 接受两个目录参数,计算两个目录里每个文件的 md5 值,并给出报表文件 md5v3.txt,使用方法: md5omv3.bat 根据这 md5comv3.bat 生成的报表文件 md5v3.txt,可以找现两个目录中 1:同名而且 md5 相同的文件; 2:同名但是 md5 不同的文件; 3:不同名但是 md5 相同的文件; 4:同一目录中不同名但是 md5 相同的文件。 注意事项: 1:sha1comv3.bat 和 md5comv3.bat 都不接受路径带有空格的目录名,但是可以接受带有空格的文件名; 2:sha1 和 md5 的计算由 md5sum.exe 和 sha1sum.exe 完成,libiconv2.dll 和 libintl3.dll 是两个可执行文件需要的动态库; 3:sha1comv3.bat 和 md5comv3.bat 运行时会产生大量临时文件,这些文件由工具自动维护,不必手工清理。 这两个工具都是命令行方式、文本界面的,对于习惯使用图形界面的朋友来说,可能不方便,因此,不推荐习惯使用图形界面的朋友使用。 有问题请写邮件到 rubble@126.com。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值