Linux程序设计——Linux的文件及目录操作.doc_第1页
Linux程序设计——Linux的文件及目录操作.doc_第2页
Linux程序设计——Linux的文件及目录操作.doc_第3页
Linux程序设计——Linux的文件及目录操作.doc_第4页
Linux程序设计——Linux的文件及目录操作.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

昆明理工大学信息工程与自动化学院学生上机报告( 201 201 学年 第 学期 )课程名称:Linux程序设计 开课实验室: 时间:年 月 日年级、专业、班学号 姓名成绩实验项目名称Linux的文件及目录操作指导教师教师评语该同学是否了解相关理论: A.了解B.基本了解C.不了解该同学的动手能力: A.强 B.中等 C.差 该同学的上机是否达到要求 : A.达到 B.基本达到C.未达到上机实验报告是否规范: A.规范 B.基本规范C.不规范上机实验过程是否详细记录: A.详细 B.一般 C.没有 注:5个A 为优 4个A为良 3个A 为及格 其余为不及格。教师签名: 年 月 日1、 上机目的1、熟悉linux编辑界面2、了解和掌握linux中文件、目录及相关操作3、掌握目录的扫描、创建、和删除等。二、相关技术阐述1、linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。2、linux采用的是树型结构。 最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在DOS和 windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。 3、linux文件系统 文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有 自己的目录 层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成 系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。linux文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。三、所用软件系统 Ubuntu,term,vi编辑器、gcc编译器四、源代码或上机步骤说明:此次试验是用Linux函数中的closedir函数,完成一个目录遍历搜索的程序代码:#include#include#include#include#include#includevoid printdir (char *dir,int depth) DIR *dp; struct dirent *entry; struct stat statbuf; if(dp=opendir(dir)=NULL) fprintf(stderr,cant open directory :%sn,dir); return ; chdir(dir); while(entry=readdir(dp)!=NULL) lstat(entry-d_name,&statbuf); if(S_ISDIR(statbuf.st_mode) /*Found a directory ,but ignore .and.*/ if(strcmp(.,entry-d_name)=0| strcmp(.,entry-d_name)=0) continue; printf(%*s%s/n,depth,entry-d_name); /*recurse at a new indent level*/ printdir(entry-d_name,depth+4); else printf(%*s%sn,depth,entry-d_name); chdir(.); closedir(dp);int main() printf(Directory scan of/home:n); printdir(/home,0); printf(done.n); exit(0); 这个程序扫描了Home目录,再用opendir检查完指定目录是否存在后,printdir调用chdir进入指定目录,如果readdir函数返回数据不为空,程序就检查该数据项是否是一个目录。如果不是,在根据depth值缩进打印该数据项内容。实验截图:用vi编辑器编辑程序编译通过:运行程序,输出Home目录的扫描结果5、 心得体会 通过本次实验,了解了Linux的目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论