计算机科学与技术系
实验(项目)报告
一、基本信息
实验(项目)名称
显示文件长格式信息
课程名称
Linux系统编程
学生层次
本科
学生专业
信息工程
学生年级
2014
学生班级
信工一班
学生学号
14310920101
学生姓名
linux怎么读取文件黎子涵
完成日期
2016117
指导教师
董祥千
报告成绩
二、目的与要求
目的:
通过实验掌握Linux环境下文件属性管理的基本方法。
要求:
1.了解文件属性、用户/ID与名字的转换、硬链接与符号链接;
2.掌握dup/dup2的功能及使用方法;
3.掌握文件属性修改的基本函数及方法。
三、完成实验(项目)过程和效果
内容:
1. 项目分析与设计;
ls命令用于查看目录信息,ls命令有很多参数选项,其中ls-l可以以长格式显示文件的属性信息;
Linux系统中文件包括两部分:数据块和索引节点inode。文件的属性信息就保存在文件的ino
de中,文件的数据内容存储在数据块中。Linux系统中提供了读取文件属性和修改文件属性的系统调用;
要想显示文件的详细属性信息,首先要得到文件的属性信息。文件的属性信息包含在文件的索引节点中,先杀的信息应该包括文件的inode节点编号、文件名、文件主人及数组名、文件长度,文件最后修改时间等。
2. 项目实施;
(1) 根据用户输入的文件名,读取该文件的索引节点。
(2) 从索引节点中提取所需的各项信息,经过必要的转换后输出。
3. 项目编译与运行。
(1) 编译。
#gcc -o ls ls .c
(2) 运行。
#./ls -l 文件名
步骤:
1.项目分析与设计
1)ls命令功能解析
输入命令ls—l后:
2)项目基本流程图。
(1)信息打印
(2)文件类型检查
(3)文件属性获取
通过调用stat()获取该文件的属性信息并显示。对于文件的索引节点编号st_ino、链接数st_link、文件主的用户IDst_uid、文件主组IDst_gid、文件块的个数st_blocks、块大小st_blksize、等其他数值属性,直接将结果输出。
至于文件大小要通过判断是否为设备文件,再进一步判断,文本类型的判定用到switch—cas
e语句。
四、知识应用以及经验总结
通过这次显示文件属性项目,我明白了做一个系统的难度之大,首先要进行需求分析,然后通过流程图来清晰自己的思路,整个过程虽然很繁琐,很复杂,但完成任务后,内心的成就感爆棚,给自己的未来增加了满满的信心!这次的实验,我学会了如何用代码实现操作系统的部分功能,如查看文件属性、通过判断不同的文件类型确定文件的大小等等,瞬间觉得特别高大上。希望今后能学习到更多到社会上有用的东西。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。