admin 管理员组

文章数量: 1184232


2024年6月4日发(作者:excel生成xml)

计算机科学与技术系

实验(项目)报告

一、基本信息

实验(项目)名称 显示文件长格式信息

课程名称

学生专业

学生班级

学生姓名

指导教师

二、目的与要求

目的:

通过实验掌握Linux环境下文件属性管理的基本方法。

要求:

1.了解文件属性、用户/组ID与名字的转换、硬链接与符号链接;

2.掌握dup/dup2的功能及使用方法;

3.掌握文件属性修改的基本函数及方法。

三、完成实验(项目)过程和效果

内容:

1. 项目分析与设计;

ls命令用于查看目录信息,ls命令有很多参数选项,其中ls-l可以

以长格式显示文件的属性信息;

Linux系统中文件包括两部分:数据块和索引节点inode。文件的

属性信息就保存在文件的inode中,文件的数据内容存储在数据块中。

Linux系统中提供了读取文件属性和修改文件属性的系统调用;

要想显示文件的详细属性信息,首先要得到文件的属性信息。文件

的属性信息包含在文件的索引节点中,先杀的信息应该包括文件的

inode节点编号、文件名、文件主人及数组名、文件长度,文件最后修

改时间等。

2. 项目实施;

(1) 根据用户输入的文件名,读取该文件的索引节点。

(2) 从索引节点中提取所需的各项信息,经过必要的转换后输出。

3. 项目编译与运行。

Linux系统编程

信息工程

信工一班

黎子涵

董祥千

学生层次 本科

学生年级 2014级

学生学号

完成日期 2016年11月7日

报告成绩

(1) 编译。

#gcc -o ls ls .c

(2) 运行。

#./ls -l 文件名

步骤:

1.项目分析与设计

1)ls命令功能解析

输入命令ls—l后:

访问日期、时间 文件名

文件类型、权限

文件属主、组、长度

2)项目基本流程图。

(1)信息打印

(2)文件类型检查

(3)文件属性获取

通过调用stat()获取该文件的属性信息并显示。对于文件的索引节点

编号st_ino、链接数st_link、文件主的用户ID号st_uid、文件主组ID

号st_gid、文件块的个数st_blocks、块大小st_blksize、等其他数值属

性,直接将结果输出。

至于文件大小要通过判断是否为设备文件,再进一步判断,文本类型的

判定用到switch—case语句。

四、知识应用以及经验总结

通过这次显示文件属性项目,我明白了做一个系统的难度之大,首先要进行

需求分析,然后通过流程图来清晰自己的思路,整个过程虽然很繁琐,很复杂,

但完成任务后,内心的成就感爆棚,给自己的未来增加了满满的信心!这次的实

验,我学会了如何用代码实现操作系统的部分功能,如查看文件属性、通过判断

不同的文件类型确定文件的大小等等,瞬间觉得特别高大上。希望今后能学习到

更多到社会上有用的东西。


本文标签: 文件 信息 文件属性 项目 属性