实验六 Linux下文件程序设计

本文详细介绍了在Linux环境下进行文件程序设计的实验内容,包括文件属性、权限、操作及流文件I/O操作等核心概念。实验覆盖了文件的创建、打开、关闭、读写、定位等操作,以及目录和链接文件的管理。

实验六Linux下文件程序设计

基本信息

实验课程:Linux程序设计              设课形式:非独立

课程学分:2                           实验项目:Linux下文件程序设计

项目类型:验证                        项目学时:2

实验预习

实验目的和要求:

  1. Linux系统的文件属性
  2. 不带缓存的文件I/O操作
  3. 基于流的文件I/O操作
  4. 特殊文件的操作

实验条件:

1、装有Linux操作系统的微型计算机;

实验过程

    1. Linux系统文件的属性
  1. Linux系统中,文件的准确定义是不包含有任何其他结构的字符流。
  2. Linux系统提供的文件系统,是树形层次结构系统。
  3. Linux支持多种文件系统,最常用的文件系统是ext2系统。
  4. Linux系统的文件属性主要包括文件类型和文件权限两个方面。

 

6.1.1Linux文件类型

  1. Linux下最常见的文件类型有5种:普通文件、目录文件、链接文件、管道文件和设备文件。
  2. Linux系统的主要文件类型:

 

例6-1设计一个程序,要求列出当前目录下的文件信息,以及系统“/dev/sda1”和“/dev/lp0”的文件信息。

编辑源程序代码:

 

6.1.2 Linux文件权限

  1. 对于Linux系统中的文件来说,它的权限可以分为4种:可读取(Readable)、可写入(Writable)、可执行(eXecute)和无权限,分别用r、w、x和-表示。
  2. Linux系统按文件所有者、文件所有者同组用户和其它用户三类规定不同的文件访问权限。
  3. 显示的作为权限的10个字符,可分为四部分:
    1. 第一位:一般表示文件类型。
    2. 第二位到第四位(第一组rwx):表示文件所有者的访问权限。
    3. 第五位到第七位(第二组rwx):表示文件所有者同组用户的访问权限。
    4. 第八位到第十位(第三组rwx):表示其他用户的访问权限。
  1. chmod函数说明

  1. mode参数说明

 

例6-2设计一个程序,要求把系统中“/etc”目录下的passwd文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。

 

源程序代码:

 

  1. umask函数说明

6-3设计一个程序,要求设置系统文件与目录的权限掩码。

 

源程序代码

 

注意:运行一次此例的程序后,修改源程序中的掩码后,再次编译运行,文件“liu1”和“liu2”的权限并不改变。因为如果文件已经存在,touch只修改时间标记。如果要再次验证新的掩码,需要再次运行程序前删除原来的文件。

 

思考题:设计一个程序,要求Linux系统新建的文件权限是0400

6.1.3  Linux文件的其他属性

  1. 文件还有创建时间,大小等其他的属性。
  2. Linux系统中,定义了stat结构体来存放这些信息。
  3. 如果要获得文件的其他属性,可以使用stat函数或者fstat函数。
  4. stat函数用来判断没有打开的文件,而fstat函数用来判断打开的文件。使用较多的属性是st_mode,通过此属性可以判断给定的文件是一个普通文件还是其他文件类型。

  1. stat函数说明

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值