




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验5 文件系统 :Linux文件管理1实验目的(1)掌握Linux提供的文件系统调用的使用方法;(2)熟悉文件和目录操作的系统调用用户接口;(3)了解操作系统文件系统的工作原理和工作方式。2实验内容(1) 利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*0. 退出1. 创建新文件2. 写文件3. 读文件4. 复制文件5. 修改文件权限6. 查看文件权限7. 创建子目录8. 删除子目录9. 改变当前目录到指定目录10. 链接操作*代码:#include<stdio.h>#include<sys/types.h>#include<
2、;unistd.h>#include<fcntl.h>#include<sys/stat.h>#include<syslog.h>#include<string.h>#include<stdlib.h>void menu(void);void openfile(void);void writefile(void);void readfile(void);void copyfile(void);void chmd(void);void ckqx(void);void cjml(void);void scml(void);void
3、ggml(void);void ylj(void);int main() int choose; int suliangjin=1; menu(); scanf("%d",&choose); while(choose!=0) switch(choose) case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();b
4、reak; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; menu(); scanf("%d",&choose); return 0;void menu(void) printf("文件系统n"); printf("1.创建新文件n"); printf("2.写文件n"); printf("3.读文件n"); printf("4.复制文件n"); printf("5.修改文件权限
5、n"); printf("6.查看文件权限n"); printf("7.创建子目录n"); printf("8.删除子目录n"); printf("9.改变目前目录到指定目录n"); printf("10.链接操作n"); printf("0.退出n"); printf("请输入您的选择.n");void openfile(void) int fd; if(fd=open("/tmp/hello.c",O_CREAT|O_TR
6、UNC|O_RDWR,0666)<0) perror("open"); else printf("open file:hileo.c %dn",fd); if(close(fd)<0) perror("close"); else printf("Close ");void writefile(void) int fd,size,len; char *buf="Hello!I'm writing to this file!" len=strlen(buf); i
7、f(fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666)<0) perror("open"); else printf("open file:hileo.c %dn",fd); if(size=write(fd,buf,len)<0) perror("write"); else printf("Write:%sn",buf); if(close(fd)<0) perror("close"); else pri
8、ntf("Close hello.c n");void readfile(void) int fd,size; char b10; if(fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666)<0) perror("open"); else printf("open file:hileo.c %dn",fd); lseek(fd,0,SEEK_SET); if(size=read(fd,b,10)<0) perror("read");
9、else printf("read from file:%sn",b); if(close(fd)<0) perror("close"); else printf("Close ");void copyfile(void) if(fork()=0) execlp("/bin/cp","cp","/tmp/hello.c","/tmp/he.c",NULL); else wait(0); printf("将hello.c复制h
10、e.c");void chmd(void) int a; printf("1.文件主可读可写可执行n"); printf("2.文件主可读n"); printf("3.文件主可写n"); printf("4.文件主可执行n"); printf("请输入您的选项n"); scanf("%d",&a); switch(a) case 1:chmod("/tmp/hello.c",S_IRWXU);printf("ok!n"
11、);break; case 2:chmod("/tmp/hello.c",S_IRUSR);printf("ok!n");break; case 3:chmod("/tmp/hello.c",S_IWUSR);printf("ok!n");break; case 4:chmod("/tmp/hello.c",S_IXUSR);printf("ok!n");break; default:printf("您选择有误n"); void ckqx(void) ch
12、ar *path="/bin/ls" char *argv4="ls","-l",NULL; if(fork()=0) execv(path,argv); else wait(0);void cjml(void) if(mkdir("/tmp/a",S_IRWXU)<0) perror("Mkdir"); else printf("创建成功n");void scml(void) if(rmdir("/tmp/a")<0) perror(&quo
13、t;Rmdir"); else printf("删除成功n");void ggml(void) if(chdir("/tmp/bc")<0) perror("chdir"); else printf("更改目录成功n");void ylj(void) if(link("hello.c","h.c")<0) perror("Link"); else printf("建立硬连接n");打开文件: 写文件:读文件:复制文件:修改权限:查看权限:创建目录:删除目录:更改目录:硬连接:问题解决方案:1. 在复制文件时用execlp函数,虽然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 郑州航空工业管理学院《生产运营管理》2023-2024学年第二学期期末试卷
- 贵州护理职业技术学院《计算机图像与视觉基础》2023-2024学年第二学期期末试卷
- 集宁师范学院《中医护理学》2023-2024学年第二学期期末试卷
- 鲁东大学《有机硅高分子》2023-2024学年第二学期期末试卷
- 同济大学浙江学院《自然语言处理基础》2023-2024学年第二学期期末试卷
- 太原师范学院《汽车展示设计》2023-2024学年第二学期期末试卷
- 贵阳人文科技学院《舞台表演艺术与实践(四)》2023-2024学年第二学期期末试卷
- 安顺职业技术学院《工程招投标与合同管理》2023-2024学年第二学期期末试卷
- 北京政法职业学院《学前教育科学研究方法》2023-2024学年第二学期期末试卷
- 哈尔滨远东理工学院《三维构成基础》2023-2024学年第二学期期末试卷
- (10)-3.12 管理载体寓教于管法
- 聚酯生产技术 聚酯的性能与用途
- 洼田饮水试验
- 西师大版三年级数学下册《全册》单元复习卡课件
- 《西式点心制作》课程标准
- 《老年康复学》课程考试复习题库(含答案)
- 混凝土采购结算单
- 先秦两汉文学课件
- GB/T 42611-2023非公路用旅游观光车辆制动性能试验方法
- 质检部各岗位职责、日常管理规定及质量工作流程
- 一艾到底艾灸知识竞赛100题
评论
0/150
提交评论