一、实验目的
1.掌握函数stat中文件属性的应用。
2.掌握系统函数system、chmod、creat、open、close、read、write、fcntl、flock等的使用。
3.掌握文件阻塞与非阻塞I/O的操作。
二、实验任务与要求
1.测试文件S_IRUSR、S_IWUSR、S_IRGRP、S_IROTH属性。
2.应用system、chmod、creat、open、close、read、write、fcntl、flock等函数。
3.阻塞I/O文件操作的程序设计。
三、实验工具与准备
计算机PC机,Ubuntu操作系统
四、实验步骤与操作指导
实验前,建义阅读参考书:Linux程序设计(第4版)(jb51.net)中第3章文件操作的内容。
1.设计一个程序,要求打开文件“pass”,如果没有这个文件,新建此文件,权限设置为只有所有者有只读权限。
2.设计一个程序,要求新建一个文件“hello”,利用write函数将“Linux下C软件设计”字符串写入该文件。
3.设计一个程序,要求利用read函数读取系统文件“/etc/passwd”,并在终端中显示输出。
4.设计一个程序,要求打开文件“pass”,如果没有这个文件,新建此文件,再读取系统文件“/etc/passwd”,把文件中的内容都写入“pass”文件。
5.程序设计。设计程序应用system函数建立/home/liu文件,应用chmod函数使文件liu具有S_IRUSR、S_IWUSR、S_IRGRP、S_IROTH属性,最后应用函数stat获取文件的大小。
6.设计一个程序,要求为“/bin/ls”文件建立一个软链接“ls1”和一个硬链接为“ls2”,并查看两个链接文件和“/bin/ls”文件。
五、实验结果记录(主要步骤截图)
1.设计一个程序,要求打开文件“pass”,如果没有这个文件,新建此文件,权限设置为只有所有者有只读权限。