Linu某系统cp命令实现

Linu某系统cp命令实现

ID:39222259

大小:453.45 KB

页数:6页

时间:2019-06-27

Linu某系统cp命令实现_第1页
Linu某系统cp命令实现_第2页
Linu某系统cp命令实现_第3页
Linu某系统cp命令实现_第4页
Linu某系统cp命令实现_第5页
资源描述:

《Linu某系统cp命令实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计算机操作系统练习一:实现cp命令计算机操作系统练习一:实现cp命令练习要求实现:Linux的cp命令,完成文件的拷贝。基本思路是打开源文件,并创建目标文件;然后从源文件中读取数据并写入到目标文件中。1、用read&write实现•设置缓存为1B和8192B•分别记录两种缓存方式去拷贝一指定文件(大于1MB)所需要的时间,并分析为什么会有区别。2、用fread&fwrite实现•设定缓存为8192B,记录拷贝指定文件所需要的时间,并与用read&write实现程序(缓存为8192B)进行比较,分析为什么会有区别。实现环境VMware8.0.2虚拟机里面的Ce

2、ntOS版Linux系统,为该虚拟机分配内存1GB,分配硬盘20GB实现代码1、cpbyreadwrite.c#include#include#include#include"timing.h"//#defineBUFSIZE1#defineBUFSIZE8192//通过设置BUFSIZE的大小来设置缓存大小intmain(intargc,char*argv[]){structtimevalstart;gettimeofday(&start,NULL);if(argc<3)//如果输入不合法{prin

3、tf("Pleaseinputrightwords!");return1;}charbuf[BUFSIZE];1计算机操作系统练习一:实现cp命令char*target=(char*)malloc(strlen(argv[1])+strlen(argv[2])+2);//目标目录连接文件名inti,j,sizeargv2=strlen(argv[2]);for(i=0;i

4、argv[1]);++j,++i){target[i]=argv[1][j];}target[i]='';intfp=open(argv[1],0);if(fp==-1){printf("Thesourcefile%sisnotexist!",argv[1]);return1;}inttd=creat(target,1);if(td==-1){printf("Error!Thetargetfilecan'tbecreat!");return1;}intn=-1;while((n=read(fp,buf,BUFSIZE))>0)//复制{write

5、(td,buf,n);}close(fp);close(td);printf("Copycosttime:%ldmicroseconds.",usdiff(start));return0;}2、cpbyfreadfwrite.c#include#include#include#include"timing.h"2计算机操作系统练习一:实现cp命令#defineBUFSIZE8192intmain(intargc,char*argv[]){structtimevalstart;gettimeofda

6、y(&start,NULL);if(argc<3){printf("Pleaseinputrightparameters!");return1;}FILE*sfp,*tfp;sfp=fopen(argv[1],"rb");if(sfp==NULL){printf("Thesource%sisnotexist!",argv[1]);return1;}char*target=(char*)malloc(strlen(argv[1])+strlen(argv[2])+2);//目标目录连接文件名inti,j;for(i=0,j=0;i

7、v[2]);++j,++i)target[i]=argv[2][j];if(target[i-1]!='/'){target[i]='/';++i;}for(j=0;j

8、sfp))>0)//复制fwrite(buf,n,1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。