文件系统:Linux文件管理.pdf

上传人:l*** 文档编号:83466478 上传时间:2023-03-31 格式:PDF 页数:6 大小:283.27KB
返回 下载 相关 举报
文件系统:Linux文件管理.pdf_第1页
第1页 / 共6页
文件系统:Linux文件管理.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《文件系统:Linux文件管理.pdf》由会员分享,可在线阅读,更多相关《文件系统:Linux文件管理.pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 1 实验 5 文件系统:Linux 文件管理 1实验目的(1)掌握 Linux 提供的文件系统调用的使用方法;(2)熟悉文件和目录操作的系统调用用户接口;(3)了解操作系统文件系统的工作原理和工作方式。2实验内容(1)利用 Linux 有关系统调用函数编写一个文件工具 filetools,要求具有下列功能:*0.退出 1.创建新文件 2.写文件 3.读文件 4.复制文件 5.修改文件权限 6.查看文件权限 7.创建子目录 8.删除子目录 9.改变当前目录到指定目录 10.链接操作*代码:#include#include#include#

2、include#include#include#include#include 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 ggml(void);void ylj(void);int main()int choose;int suliangjin=1;menu();scanf(%d,&choose);K2MG-

3、E专业技术人员绩效管理与业务能力提升练习与答案 2 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();break;case 8:scml();break;case 9:ggml();break;case 10:ylj();break;menu();scanf(%d,&choose);re

4、turn 0;void menu(void)printf(文件系统n);printf(1.创建新文件n);printf(2.写文件n);printf(3.读文件n);printf(4.复制文件n);printf(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

5、_TRUNC|O_RDWR,0666)0)perror(open);else printf(open file:hileo.c%dn,fd);if(close(fd)0)perror(close);K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 3 else printf(Close );void writefile(void)int fd,size,len;char*buf=Hello!Im writing to this file!;len=strlen(buf);if(fd=open(/tmp/hello.c,O_CREAT|O_TRUNC|O_RDWR,0666)0)perr

6、or(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 printf(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:

7、hileo.c%dn,fd);lseek(fd,0,SEEK_SET);if(size=read(fd,b,10)0)perror(read);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 K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 4 wait(0);printf(将 hello.c 复制 he.c

8、);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);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;ca

9、se 4:chmod(/tmp/hello.c,S_IXUSR);printf(ok!n);break;default:printf(您选择有误n);void ckqx(void)char*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(Rmdir);else pr

10、intf(删除成功n);K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 5 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 函数,虽然有复制成功但是他就跳出整个程序,这就是一个缺陷。后来我在 execlp 前面加 if(fork)()=0)就可以咯 2.硬连接不成功,老是抛出错误信息,后来发现原来是因为我的代码出错,还有我之前已经更改了目录所以就会经常报错 3.到现在还不知道为什么我读出来的是乱码情解决 K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 6 实验心得体会:通过这次实验掌握 Linux 提供的文件系统调用的使用方法;熟悉文件和目录操作的调用用户接口,了解操作系统文件系统的工作原理和工作方式。世上没有一件工作不辛苦,没有一处人事不复杂。不要随意发脾气,谁都不欠你的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com