11第六章文件操作绪论.pptVIP

  • 21
  • 0
  • 约5.59千字
  • 约 38页
  • 2017-01-19 发布于湖北
  • 举报
第 4 章 文件的操作 本章重点 Linux系统的文件属性 不带缓存的文件I/O操作 基于流的文件I/O操作 特殊文件的操作 4.1 Linux系统文件的属性 Linux系统中,文件的准确定义是不包含有任何其他结构的字符流。 Linux系统提供的文件系统,是树形层次结构系统。 Linux支持多种文件系统,最常用的文件系统是ext2系统。 Linux系统的文件属性主要包括文件类型和文件权限两个方面。 4.1.1 Linux文件类型 Linux下最常见的文件类型有5种:普通文件、目录文件、链接文件、管道文件和设备文件。 例4.1:设计一个程序,要求列出当前目录下的文件信息,以及系统“/dev/sda1”和“/dev/lp0”的文件信息。 编辑源程序代码 : 4.1.1 Linux文件类型 Linux系统的主要文件类型: 4.1.2 Linux文件权限 对于Linux系统中的文件来说,它的权限可以分为4种:可读取(Readable)、可写入(Writable)、可执行(eXecute)和无权限,分别用r、w、x和-表示。 Linux系统按文件所有者、文件所有者同组用户和其它用户三类规定不同的文件访问权限。 显示的作为权限的10个字符,可分为四部分: 第一位:一般表示文件类型。 第二位到第四位(第一组rwx):表示文件所有者的访问权限。 第五位到第七位(第二组rwx):表示文件所有者同组用户的访问权限。 第八位到第十位(第三组rwx):表示其他用户的访问权限。 4.1.2 Linux文件权限 例4.2:设计一个程序,要求把系统中“/etc”目录下的passwd文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。 源程序代码: 4.1.2 Linux文件权限 例4.3:设计一个程序,要求设置系统文件与目录的权限掩码。 源程序代码 : 4.1.2 Linux文件权限 chmod函数说明 4.1.2 Linux文件权限 umask函数说明 4.1.3 Linux文件的其他属性 文件还有创建时间,大小等其他的属性。 在Linux系统中,定义了stat结构体来存放这些信息。 4.1.3 Linux文件的其他属性 例4.4:设计一个程序,应用系统函数stat获取系统中“/etc”目录下的passwd文件的大小。 源程序代码: 4.1.3 Linux文件的其他属性 stat函数说明 4.2 不带缓存的文件I/O操作 Linux系统中,基于文件描述符的文件操作主要有:不带缓存的文件I/O操作和带缓存的文件流I/O操作。 不带缓存的文件I/O操作,又称系统调用I/O操作,符合POSIX标准,设计的程序能在兼容POSIX标准的系统间方便地移植。 不带缓存的文件I/O操作用到的主要函数: 4.2.1 文件的创建 例4.5:设计一个程序,要求在“/home”目录下创建一个名称为“4-5file”的文件,并且把此文件的权限设置为所有者具有只读权限,最后显示此文件的信息。 源程序代码 : 4.2.1 文件的创建 creat函数说明 4.2.2 文件的打开和关闭 例4.6:设计一个程序,要求在“/home”下以可读写方式打开一个名为“4-6file”的文件,如果该文件不存在,则创建此文件,如果存在,将文件清空后关闭。 源程序代码: 4.2.2 文件的打开和关闭 open函数说明 4.2.2 文件的打开和关闭 close函数说明 4.2.3 文件的读写操作 文件读写操作中,经常用到的函数是read、write和lseek。 例4.7:设计一个C程序,完成文件的复制工作。要求通过使用read函数和write函数复制“/etc/passwd”文件到“4-7test”文件中,文件名当程序运行时从键盘键入。 源程序代码 : 4.2.3 文件的读写操作 Read、write函数说明 4.2.4 文件上锁 Linux系统中,给文件上锁主要有建议性锁和强制性锁。给文件加建议性锁的是flock函数,给文件加强制性锁的是fcntl函数。 一般情况下,系统使用强制性锁,而很少使用建议性锁。当一个文件被上锁后,内核将阻止其他任何文件对其进行读写操作。 例4.8:设计一个程序,要求在“/home”下打开一个名为“4-8file”的文件,如果该文件不存在,则创建此文件。打开后对其加上强制性的写入锁,然后释放写入锁。 源程序代码 : 4.2.4 文件上锁 4.2.4 文件上锁 flock、fcntl函数说明 4.3 带缓存的流文件I/O操作 带缓存的流文件I/O操作,是在内存开辟一个“缓存区”,为程序中的每一个文件使用。 内存“缓存区”的大小,影响着实际操作外存的次数,内存“缓存区”越大,则操作外存的次数

文档评论(0)

1亿VIP精品文档

相关文档