实验四Linux文件处理实验一、实验目的:1.掌握文件系统类系统函数用于应用程序对文件操作的相关函数(open()、read()、write()、close()等)。2.掌握文件系统类函数的调用。3.学会用文件系统类函数实现对文件的拷贝。二、基本原理:按照普通的定义,文件不过是一堆数据,就是存储器中存储数据的载体。对于Linux中的文件,具有的特点是:可通过操作系统或者程序对外提供信息,也能对内输入信息,可以被创建,删除。Linux系统的文件处理,主要是指进行打开文件、读文件、写文件及关闭文件等I/O操作。大多数情况下,只需用到5个函数:open、read、write、lseek和close。如需把文字在终端显示,write函数的文件描述符为0、1、2皆可。main函数的参数:intargc;//表示读入字符串个数char*argv[];//指针数组,用来存放读入的字符串如常用命令“ls-l/”的参数对应关系,如图4.1所示:三、实验设备:PC机(安装ubuntu系统)四、实验步骤:(注:必须使用root用户登陆ubuntu系统,使用vim编辑器进行文本编辑)把所有文件打包成“实验4_学号后3位_姓名”上交A、模拟linux的cat命令编写一个c语言程序,该程序产生的可执行文件名为catx,其功能类似于cat命令,当执行catx×××(×××为任意文本文件名)时,会将文本文件×××打印在屏幕上,如果catx后面没有跟文件名做参数,则报错。B、模拟linux的cp命令编写一个c语言程序,该程序产生的可执行文件名为cpx,其功能类似于cp命令,当执行cpxAB(A、B为任意两个文件名)时,会将文件A复制为文件Bcpx后面没有跟文件名做参数,或是没有跟两个文件名,则报错。五、思考:1、编译后的可执行文件和一般的Linux命令之间的异同?2、文件处理系统调用是否适用于所有类型的文件?arg[0]arg[1]arg[2]“ls”“-l”“/”图4.1