湖北工业大学工程技术学院实验报告课程名称:操作系统实验内容:实验七 文件管理(二)学院:工程技术学院专业班级:11gb 软件 2 班教师: 贺红艳成绩:一、实验目的1、掌握 Linux 文件系统的基本原理、结构和实现的方法。2、掌握 Linux 文件系统中文件的建立、打开、读写、执行、属性等系统调用的使用二、相关函数1、int creat(constchar *filename, mode_t mode) mode:创建模式(指定文件的属性)可以直接用数字表示文件的访问权限filename:要创建的文件名(包含路径,缺省为当前路径)2、int open(constchar *pathname, int flags) int open(constchar *pathname, int flags, mode_t mode) pathname:要打开的文件名flags:打开标志O_RDONLY 只读方式打开O_WRONLY 只写方式打开O_RDWR 读写方式打开O_APPEND 追加方式打开O_CREATE 创建一个文件O_NOBLOCK 非组塞方式打开当使用O_CREATE 标志时,则使用第二个函数,即三个参数的。需要使用mode 来指定文件的访问权限。3、文件关闭int close(int fd) fd :文件描述符(打开文件时,由系统分配)4、int read(int fd, constvoid *buf, size_t length) 从文件描述符fd所指向的文件中读取length个字节到 buf所指向的缓冲区中,返回值为实际读取的字节数。5、int write(int fd, constvoid *buf, size_t length) 把 length个字节从 buf指向的缓冲区中写到文件描述符fd所指向的文件中,返回值为实际写入的字节数。6、int lseek(int fd, offset_t offset, int whence) 将文件读写指针相对whence移动 offset个字节。操作成功时,返回文件指针相对于文件头的位置。(可以利用lseek计算文件长度lseek(fd, 0, SEEK_END))whence可用以下值描述:SEEK_SET: 相对文件开头SEEK_CUR: 相对文件读写指针的当前位置SEEK_END: 相对文件末尾offset可取负值,表示向前移动。三、实验步骤1、编写一段C 语言程序,使其完成:对用户输入的文件内容进行拷贝。例如用户输入:./copy aFile bFile,( 如果目标文件名为copy)则将文件aFile 的内容拷贝到文件bFile 中。#include #include main(int argc,char *argv[]) { int fd1,fd2,n; char buf[512]; if(argc<3) { printf(" 参数太少 \n"); exit(0); } if((fd1=open(argv[1],0))<0) { printf("open error\n"); exit(0); } if((fd2=creat(argv[2],0644))<0)...