五、目錄和文件屬性編程_第1頁
五、目錄和文件屬性編程_第2頁
五、目錄和文件屬性編程_第3頁
五、目錄和文件屬性編程_第4頁
五、目錄和文件屬性編程_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、文件和目錄 stat結構和文件屬性 文件屬性操作函數 文件系統(tǒng)結構及符號鏈接 目錄操作函數stat結構stat,fstat,lstat函數 該函數可以獲得文件的屬性可以獲得文件的屬性 文件屬性存儲在結構對象buf中 lstat返回符號鏈接的屬性實例:打印輸出文件屬性信息實例:打印輸出文件屬性信息lstat_test.c文件類型 Linux中的七種文件和七個宏實例:判斷文件類型實例:判斷文件類型file_type.c文件權限 9種訪問權限位實例:判斷文件權限實例:判斷文件權限file_perm.c設置用戶ID和設置組ID 與進程相關的ID 實際用戶ID,實際組ID-我們是誰我們是誰 st_uid

2、,st_gid 有效用戶ID,有效組ID,附加組ID-用于文件訪問權限檢查 保存的設置用戶ID,保存的設置組D-由exec函數保存 設置用戶ID和設置組ID為包含在st_mode中,可用S_ISUID,S_ISGID測試 新文件和新目錄的所有權access函數 用于驗證實際用戶能否訪問一個給定的文件用于驗證實際用戶能否訪問一個給定的文件 mode取值取值 R_OK測試讀權限測試讀權限 W_OK測試寫權限測試寫權限 X_OK測試執(zhí)行權限測試執(zhí)行權限 F_OK測試文件是否存在測試文件是否存在umask函數l mode取值取值權限常量按位或權限常量按位或l 例如例如umask(S_IRGRP|S_I

3、WGRP)chmod,fchmod函數 想要改變一個文件的權限位,需滿足條件想要改變一個文件的權限位,需滿足條件 進程的有效用戶進程的有效用戶ID必須等于文件所有者必須等于文件所有者ID 進程具有超級用戶權限進程具有超級用戶權限 mode取值取值chown,fchown,lchown函數l 限制 超級用戶進程能更改該文件的用戶ID 非超級用戶滿足如下條件可修改文件的組ID 進程擁有該文件 參數owner等于-1或文件的用戶ID,并且參數group等于進程的有效組ID或進程的附加組ID之一文件系統(tǒng)link,unlink,remove,rename函數l 針對文件創(chuàng)建鏈接 必須是同一個分區(qū) 不能對

4、目錄創(chuàng)建硬鏈接l 文件刪除的條件 鏈接計數為0 無其他進程打開該文件練習:建立一個鏈接文件,然后刪除源文件。link_test.c符號鏈接 創(chuàng)建符號鏈接并不要求actualpath存在 可以跨文件系統(tǒng)建立符號鏈接 練習:創(chuàng)建一個軟鏈接文件,然后讀取鏈接文件數據、鏈接到文件數據。readlink.c ./a.out a.txt a.ls文件時間mkdir,rmdir函數l 創(chuàng)建目錄時,至少制定一個執(zhí)行權限位l 目錄刪除的條件 該目錄的鏈接計數為鏈接計數為2 無其他進程打開此目錄目錄操作l 對目錄具有訪問權限的用戶才可以讀該目錄對目錄具有訪問權限的用戶才可以讀該目錄l 只有內核才能寫目錄只有內核才能寫目錄練習:讀取當前目錄練習:讀取當前目錄命令行參數確定目錄命令行參數確定目錄里面信息,進行操作。里面信息,進行操作。dir_tes

溫馨提示

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

評論

0/150

提交評論