资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
实验五题目:Linux 文件系统实验姓名:李章兴 学号:11123435 实验日期:2014.3.4实验目的:1掌握操作系统中文件分类的概念。2了解 Linux 文件系统管理文件的基本方式和特点。 3学会使用 Linux 文件系统的命令界面和程序界面的基本要领。实验内容:1用 shell 命令查看 Linux 文件类型。Linux 的文件类型包括:普通文件() 、目录文件(d) 、字符设备文件(c) 、块设备文件(b)硬链接文件、套接口文件(s) 、符号链接文件(l )和管道文件(p) 。2用 shell 命令了解 Linux 文件系统的目录结构。 3用命令分别建立硬链接文件和符号链接文件。通过 ls -il 命令所示的 inode、链接计数观察他们的区别。思考题:建立硬链接文件和建立符号链接文件有什么区别?答:硬连接指通过索引节点来进行的连接。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。 与硬连接相对应的另一种连接,称为符号连接(软连接) 。软链接文件有点类似于Windows 的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 如上图实验所示:touch f1(创建一个 f1 的文件) ln f1 f2 创佳一个 f2 的硬连接 ln -s f1 f3 创建一个 f3 的软连接 此时如果删除 f3,对 f1、f2 无影响;如果删除 f2,对 f1、f3 也无影响,如果删除f1,那么因为 f2 也应用 f1,所以并不影响 f2 节点的,cat 创建的文件仍然存在;但是此时f3 因为是软连接,导致 f3 失效。如果删除 f1、f2 ,那么 cat 创建的文件会被删除。4复习 Unix 或 Linux 操作系统文件目录信息 i 节点的概念。编程观察看指定文件的 inode信息。将书上例程 8 的内容输入 p3.c 后,编译执行。5再来一个更有趣的实验。修改父进程创建子进程的程序,用显示程序段、数据段地址的方法,说明子进程继承父进程的所有资源。再用父进程创建子进程,子进程调用其它程序的方法进一步证明执行其它程序时,程序段发生的变化。将书上例程 10 显示程序、数据段地址的程序的内容输入 p4.c、p5.c 后,编译执行。6编写一个涉及流文件的程序。要求:A.以只读方式打开一个源文本文件B.以只读方式打开另一个源文本文件C.以只读方式打开目标文本文件D.将两个源文件内容复制到目标文件E.将目标文件改为指定的属性F.显示目标文件将书上例程 11 的内容输入 p6.c 后,编译执行。体会:也许这学期的三个实验中就这个最难了。不仅有书上的概念,书上讲的不清楚的,还得自己从网上搜集资料。对于 Linux 中文件的软硬链接理解得算是透彻了,对于 i 节点的理解也更深入了一步,Unix 系统的内核结构真的是非常方便实用,基于它衍生的许多技术都将是我未来关注学习的焦点。附录:(源程序)/p3.c#include#include#include#include#include#include#include#include#define TIME_STRING_LEN 50char *time2String (time_t tm,char *buf)struct tm *local;local=localtime(&tm);strftime(buf,TIME_STRING_LEN,%c,local);return buf;int ShowFileInfo(char *file)struct stat buf;char timeBufTIME_STRING_LEN;if(lstat(file,&buf)perror(lstat()error);return 1; printf(nFile:%sn,file);printf(1)On device(major/minor):%d %d,inode number:%ldn,major(buf.st_dev),minor(buf.st_dev),buf.st_ino);printf(2)Type:%07ot Permission:%05on,buf.st_mode & S_IFMT,buf.st_mode & (S_IFMT);printf(3)Over id:%dt Group id:%dt n4)Number of hard links:%dn,buf.st_uid,buf.st_gid,buf.st_nlink);printf(5)Size:%ldt n6)Last access:%s,buf.st_size,time2String(buf.st_atime,timeBuf);printf(n Last modify inode:%snn,time2String(buf.st_atime,timeBuf);printf(7)Datablocks:%d , %dtn,buf.st_blksize,buf.st_blocks);return 0;int main(int argc,char *argv)int i,ret;for(i=1;i1)printf(n);return ret;/p4.c#includeextern int etext,edata,end;main()printf(etext:%6x t edata:%6x t end:%6 n,&etext,&edata,&end);/p5.c#include#include#include#include#include#define SHW_ADR(ID,I) printf(The id %s t is at adr:%8xn,ID,&I);extern int etext,edata,end;char *cptr=Hello World.n;char buffer125;main() void showit(char *);int i=0; printf(Adr etext:%8xt Adr edata:%8x Adr end:%8xnn,&etext,&edata,&end);SHW_ADR(main,main);SHW_ADR(showit,showit);SHW_ADR(cptr,cptr);SHW_ADR(buffer1,buffer1);SHW_ADR(i,i);strcpy(buffer1,A demonstrationn);write(1,buffer1,strlen(buffer1)+1);for(;i#includeint main(int argc,char *argv) char s1024;FILE *fp;if(fp=fopen(argv1,r)!=(FILE*)0) while(fgets(s,1024,fp)!=(char *)0)puts(s);else fprintf(stderr,file open error.n);exit(1);exit(0);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号