操作系统实验5文件系统:Linux文件管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验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

#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);

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);

}

return 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_TRUNC|O_RDWR,0666))<0) perror("open");

else

printf("open file:hileo.c %d\n",fd);

if(close(fd)<0)

perror("close");

else

printf("Close hello.c\n");

}

void writefile(void)

{

int fd,size,len;

char *buf="Hello!I'm writing to this file!";

len=strlen(buf);

if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

else

printf("open file:hileo.c %d\n",fd);

if((size=write(fd,buf,len))<0)

perror("write");

else

printf("Write:%s\n",buf);

if(close(fd)<0)

perror("close");

else

printf("Close hello.c \n");

}

void readfile(void)

{

int fd,size;

char b[10];

if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

else

printf("open file:hileo.c %d\n",fd);

lseek(fd,0,SEEK_SET);

if((size=read(fd,b,10))<0)

perror("read");

else

printf("read from file:%s\n",b);

if(close(fd)<0)

perror("close");

else

printf("Close hello.c\n");

}

相关文档
最新文档