淘先锋技术网

首页 1 2 3 4 5 6 7

《操作系统实验5文件系统:Linux文件管理》由会员分享,可在线阅读,更多相关《操作系统实验5文件系统:Linux文件管理(9页珍藏版)》请在人人文库网上搜索。

1、实验5文件系统:Linux文件管理1实验目的(1)掌握Linux提供的文件系统调用的使用方法;(2 )熟悉文件和目录操作的系统调用用户接口;(3) 了解操作系统文件系统的工作原理和工作方式。2实验内容(1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:* 0.退出1. 创建新文件2. 写文件3. 读文件4. 复制文件5. 修改文件权限6. 查看文件权限7. 创建子目录8. 删除子目录9. 改变当前目录到指定目录10. 链接操作*代码:#in clude#in clude#in clude#in clude#in clude#in clude#in clud。

2、e#in cludevoid menu (void);void ope nfile(void);void writefile(void);void readfile(void);void copyfile(void);void chmd(void);void ckqx(void);void cjml(void);void scml(void);void ggml(void);void ylj(void);int mai n()int choose;int sulia ngji n=1;men u();scan f(%d,&choose);while(choose!=0)switch(choos。

3、e)case 1:ope nfile();break;case 2:writefile();break;case 3:readfile();break;case 4:copyfile();break;case 5:chmd();break;case 6:ckqx();break;case 7:cjml();break;case 8:scml();break;case 9:ggml();break;case 10:ylj();break;men u();scan f(%d,&choose);return 0;void menu (void)printf(文件系统 n);printf(1.创建新文。

4、件n);printf(2.写文件 n);printf(3.读文件 n);printf(4.复制文件 n);printf(5.修改文件权限n);printf(6.查看文件权限n);printf(7.创建子目录n);printf(8.删除子目录n);prin tf(9.改变目前目录到指定目录n);printf(10.链接操作 n);printf(0.退出 n);printf( 请输入您的选择.n);void ope nfile(void)int fd;if(fd=ope n( ”/tmp/hello.c,0_CREAT|0_TRUNC|0_RDWR,0666)1open f i I p i h i。

5、 ler . r 3Close lie 11)cperrort * c lose*):pr in If(Close he I Jo .cn*)*写文件:wrr i left voi ih I Fcl j /屮 B 1 eii ti *lu仕 1 lu !m wq i l i ng l u t h i黑 r i I c n = s t r len( bu f J1 =i ft C* / t npZtie H I o . c -CCKEAT | OlTRpr o ron ( *opc ii* c I s ep r i i t t C open t i I c t h i I c o B c %dl。

6、 kn . i d.i fC C i ng i 1 e pv r ii I e r 1 elsep r i o t f ( * W1 i 11? : % s: n , bu i 3Jopen file rhi leo.c 3W i It : He I lo! 1 m wiling to this file! 厂Inir鼻 nA I lln ri rc r lowi fpr 1 r o r ( * c lose: *;ini fdrti i ze ;chur b10tif( :pr intf( Clo&c h prints*?. ; pi inll- J;用人筒的 EJim:51 丈件主可读可写。

7、可执2.Zfl主可读3*文料土可写4 立评主可执行请输入您的港项2okl斥程11 ch (-a “ 1 s rhmd /irtf/hrllOrf . S_lltWl ;psr 讪 F: nk 1 Vn1) ; I m JethfiDd VtnpZbi lla.c11 aSJRlSfO :pimf *akHriB.ibroaki K 3 ; ctinod / I ny /hf I In ; PS_l Mi SRI. p f i n 11 nL ! LrT J s h r citt 4 EchnodlfI Io hcf 芒XLfiR) pf iai FC *qk 1 (i): h rak gAc 。

8、in 11 ipriiit 11 fi_ 式洋 f| n:查看权限:u id ck|x.( . I.- id)char *pa t h= Fbin/ 1 sv;char *argv4= T I s1 , - I1, Ml.lJ ; if( fgrk( )0)exct:r( pa lh taigv:e I Jiemb i tm ;;-jvMur-xr-xIruo(loot493Wfl24I6ilc 1 iem . c-j wkr-xr-x1ruulrduL1S748UM2722iUf i Jal普 rw-Irootroot323JIH2K12Sf i k . r-TirootrootCil片2S。

9、12:4fihc-TWi1rootrootfl月2A12:47he +cT3r订(rrnhHTL呷 /昇root uv t J( I inkCiM Uo.c /h.c*)*更改目录成功Hi5200:00;宵输入憊的选茹 (3丸连按1.在复制文件时用 execlp函数,虽然有复制成功但是他就跳出整个程序,这就是一个缺 陷。后来我在 execlp前面加if(fork) () =0)就可以咯2. 硬连接不成功,老是抛出错误信息,后来发现原来是因为我的代码出错,还有我之前已 经更改了目录所以就会经常报错3. 到现在还不知道为什么我读出来的是乱码情解决实验心得体会:通过这次实验掌握Linux提供的文件系统调用的使用方法;熟悉文件和目录操作的调用用户接口,了解操作系统文件系统的工作原理和工作方式。