操作系統(tǒng)試驗5文件系統(tǒng)Linux文件管理_第1頁
操作系統(tǒng)試驗5文件系統(tǒng)Linux文件管理_第2頁
操作系統(tǒng)試驗5文件系統(tǒng)Linux文件管理_第3頁
操作系統(tǒng)試驗5文件系統(tǒng)Linux文件管理_第4頁
操作系統(tǒng)試驗5文件系統(tǒng)Linux文件管理_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗 5 文件系統(tǒng) : Linux 文件管理1實驗?zāi)康?1) 掌握 Linux 提供的文件系統(tǒng)調(diào)用的使用方法;(2) 熟悉文件和目錄操作的系統(tǒng)調(diào)用用戶接口;(3) 了解操作系統(tǒng)文件系統(tǒng)的工作原理和工作方式。2實驗內(nèi)容(1) 利用 Linux 有關(guān)系統(tǒng)調(diào)用函數(shù)編寫一個文件工具,要求具有下列功能:*0. 退出1. 創(chuàng)建新文件2. 寫文件3. 讀文件4. 復(fù)制文件5. 修改文件權(quán)限6. 查看文件權(quán)限7. 創(chuàng)建子目錄8. 刪除子目錄9. 改變當前目錄到指定目錄10. 鏈接操作*代碼:#include#include#include#include#include#include#include#inc

2、ludevoid menu(void);void open);void write);void read);void copy);void chmd(void);void ckqx(void);void cjml(void);void scml(void);void ggml(void);void ylj(void);int main()int choose;int suliangjin=1;menu();scanf(%d,&choose); while(choose!=0)switch(choose)case 1:openfile();break;case 2:writefile();bre

3、ak;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; menu(); scanf(%d,&choose);return 0;void menu(void)printf( 文件系統(tǒng) n);printf(1. 創(chuàng)建新文件 n);printf(2. 寫文件 n);printf(3. 讀文件 n);printf(4.

4、 復(fù)制文件 n);printf(5. 修改文件權(quán)限 n);printf(6. 查看文件權(quán)限 n);printf(7. 創(chuàng)建子目錄 n);printf(8. 刪除子目錄 n);printf(9. 改變目前目錄到指定目錄 n);printf(10. 鏈接操作 n);printf(0. 退出 n);printf( 請輸入您的選擇 .n);void open)int fd;if(fd=open(/tmp/hello.c,O_CREAT|O_TRUNC|O_RDWR,0666)0) perror(open);elseprintf(open %dn,fd);if(close(fd)0) perror(cl

5、ose);elseprintf(Close );void write)int fd,size,len;char *buf=Hello!Im writing to this file!;len=strlen(buf); if(fd=open(/tmp/hello.c,O_CREAT|O_TRUNC|O_RDWR,0666)0) perror(open);elseprintf(open %dn,fd);if(size=write(fd,buf,len)0) perror(write);else printf(Write:%sn,buf);if(close(fd)0) perror(

6、close);else printf(Close hello.c n);void read)int fd,size;char b10;if(fd=open(/tmp/hello.c,O_CREAT|O_TRUNC|O_RDWR,0666)0) perror(open);elseprintf(open %dn,fd);lseek(fd,0,SEEK_SET); if(size=read(fd,b,10)0) perror(read);elseprintf(read from n,b);if(close(fd)0) perror(close);elseprintf(Close );

7、void copy)if(fork()=0) execlp(/bin/cp,cp,/tmp/hello.c,/tmp/he.c,NULL);elsewait(0);printf( 將 hello.c 復(fù)制 he.c);void chmd(void)int a;printf(1. 文件主可讀可寫可執(zhí)行 n);printf(2. 文件主可讀 n);printf(3. 文件主可寫 n);printf(4. 文件主可執(zhí)行 n); printf( 請輸入您的選項 n); scanf(%d,&a);switch(a)case 1:chmod(/tmp/hello.c,S_IRWXU);printf(ok!

8、n);break; case 2:chmod(/tmp/hello.c,S_IRUSR);printf(ok!n);break; case 3:chmod(/tmp/hello.c,S_IWUSR);printf(ok!n);break; case 4:chmod(/tmp/hello.c,S_IXUSR);printf(ok!n);break; default:printf( 您選擇有誤 n);void ckqx(void)char *path=/bin/ls;char *argv4=ls,-l,NULL; if(fork()=0) execv(path,argv);else wait(0)

9、;void cjml(void) if(mkdir(/tmp/a,S_IRWXU)0) perror(Mkdir);elseprintf(” 創(chuàng)建成功 n”);void scml(void)if(rmdir(/tmp/a)0) perror(Rmdir);elseprintf(刪除成功 n”);void ggml(void)if(chdir(/tmp/bc)0) perror(chdir);elseprintf(更改目錄成功n); void ylj(void)if(li nk(hello.c,h.c)0) perror(Li nk);elseprintf(建立硬連接n);打開文件:hh: op

10、cnfn: t fd :iftfCd-openC/r 叩/h亡 I Id 疋* 2_EEAT|O-TmJNT porrort Fpmi):prinlH cpen f i le ;h i leo .cif(closc(fd)Jopen f i I p i h i ler . r 3Clnse lie 11)crri. rtperrort *c lose ): liepr in Lft Close he 1 Io . en*):寫文件:wrr i I c f I vo idi it i rl i /屮 B 1 eii :hi ImI I m wt i L ing lu t hi 薛ilIc n =

11、 str lc n( bu O zi f C fd=open ic I s cp r i i L t C open ft i I c t h n luo.rkn . id. 1C C k i ng =于 i 1 e iJoppii I g 1e rhi leo.c 3W i It : He I lo! 1 m w 11 ing to this f ile! 廠Inir鼻 lia I In ri rc rper i r o r ( c Io詮心):elsepT in 1 f ( * Close tie I Io . c讀文件:VO Iresdf i le ( vo Lil int fd, ti

12、i 腱;Chur b(10i f(fd-opcn(/Lirp/ht Hd.c ,O_CREAT per ror 1 upm* );c 1 sepr int f ( cpen I i le : h i le o . c :jdXnlseek:I I t C lc!c (open f iI?:h ileo c 3 read fom f i It :洱 B i ?7?Close he 11q.cpe r rcii c loe i :e Isepr ini f( CIqc h* Ilo”tT );復(fù)制文件:I kuid copyf i letvu id)1j f( fork( )=0)1cxtclp

13、/bin/tp /cp / /imp/tic 1 1q,c / /inp/tie.c HA 1 L* AI llt(O);II pr intf( * 將1 Io .4:見制hc W修改權(quán)限:i. u ttimii m i d Jin t a ;Pi inlf I .I- J ?J I ttLffViprints*?. 丄 151 丈杵主可讀可寫可執(zhí)2.Zfl主可諛3*文料主可寫4 立評主可執(zhí)行請輸入您的港項2okltl in K t. .11 l- I hii printf 1. ; pi inli nF 訃 J:垢督! 1 clh (-fl t M 1; rhrud / 1 raf ihr

14、I Io. * .S_IKWflLI| ; p ir iwl F: nk !1) ; Ihfhnod v/tnpiTb* lla.r11 ,S:pr islf *okl Vnp) ;hffcak; if t: chnod 11 / I nf /hf I in ; T r s_i Vi SRI. p f i n i f 1 nfc!;1 j rcaw 4ichiiDd(VuvphllofacS_lafiM)rUirCQkni/):tiibF die i n j 11 iprin-t !i 萱持 fl n:查看權(quán)限:、u id. u id)?h:ir *pa tti= /bin/ I s ;h;*

15、r !kargv4= T I s1 ,- Ir, MUJ ; i fC fgrk( )0)cnclv( pa lh taigv);e 1為亡mb i l仃;-jvMur-xr-xIruo(TOOL493Wfl2416:18c 1 ient. c-j WKr-xr-K1ruulrouL1S748UM2722iUf i Jel-rw-IrootrootJ1H2K12Sf i k . c-TirootTootc11片2S12:4hc-TW1rootrootfl月2A2:47he +cT3JQPlJOQt0UH2S推*he IIq.c創(chuàng)建目錄:d id c jvo Ld)jftnid ir( /irr

16、p/a rS_IRWdDO) p-e r i c r ( * hkd i j* J ;r 1 sepr intf(創(chuàng)耀成功5*) 5創(chuàng)建成旳I i L Wai刪除目錄:rV4 id scml( vr id)(pt r h)t Rml i r);e I sepr int Ktfll除成功rT ); )更改目錄:vniti ggmJCvqd jiff cbdlirt/inp/bEXO) pciror(* chd ir *); e 1priiHfC更改冃錄戚功W);9總用嶷20-rTxr-x.1 rootroot-rwsr-xr-x. rowtwot硬連接:更改H錄戚對12943 11月 IS 00:21 I2519 Hfi 佔 00;2I l沁c id yI jvoid)if( 1 inkCiM I lo.c*h.c*)0) perrorC Link*):p I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論