符号链接文件和硬链接文件

□□实验6-11.针对符号连接文件和硬连接文件。

测试以下函数,分析其执行过程并给出结论。

link(),unlink(),symlink(),readlink(),stat(),lstat()


1.Stat();lstat();


分析:b文件为a文件的软连接文件,从实验测试可以看出用stat();函数测试b文件显示的权限为文件a的权限,用lstat();函数测试b文件显示的权限为自身权限。

  结论:如果stat函数的第一个参数为符号连接文件,其读取的属性为源文件属性,如果要获取连接文件自身的属性,要调用lstat函数。

 

2.link();


分析:用link函数创建新文件a,删除abc文件后,a文件还能查看其内容。

结论:用link函数创建的文件为硬链接文件,删除源文件也可以运行。


3.unlink();



分析:先确保没有a文件,创建abc文件的硬链接文件a,调用unlink函数删除源文件abc后查看结果,在创建a文件后文件属性硬链接数为2,删除源文件abc后文件属性硬链接数为1。

结论:unlink函数是将该文件属性的硬链接数自动减1,但是绝大多数文件硬链接数为1,所以减1后即为删除。


4.symlink(); 


分析:用symlink函数创建的新文件sym_link_test,当删除源文件abc时,则不能查看文件sym_link_test的内容。

总结:symlink函数的功能是创建符号连接文件。


5.readlink();



分析:用readlink函数,测试后显示符号连接文件sym_link_test的源文件名称。

总结:readlink函数的功能是讲指定符号连接文件的源文件路径读入到buf中。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章