文件與目錄

文件有多種文件類型,其中包括
1:常規文件,這種文件包含了某種形式的數據。
2:目錄文件,其包含了其他文件的名字以及指向這些文件相關信息的指針。
3:塊特殊文件,提供對設備帶緩衝的訪問,每次訪問以固定長度爲單位進行
4:字符特殊文件,提供對設備不帶緩衝的訪問,可以按可變長度爲單位進行。
5:FIFO,用於進程間通信。
6:套接字,用於進程間網絡通信。
7:符號鏈接,這種類型文件指向另一種文件。
用於鑑定文件是否爲目錄的函數是定義爲
#define S_ISDIR (mode) (((mode)&S_IFMF) == S_IFDIR)
當我們創建新文件時,新文件的用戶ID爲創建此文件進程的有效ID,新文件的組ID有兩種可能,其一可能爲進程的有效組ID,其二可能爲創建的文件所在目錄的組ID,在LINUX中新文件的組ID取決於他所在的目錄設置組ID位是否被設置,若設置,則新文件的組ID位目錄的組ID。access函數可以按實際用戶ID與實際組ID進行訪問權限測試。
我們可用chmod來改變文件的權限位,但此時進程的有效用戶ID必須等於文件的所有者ID,或進程必須有超級用戶權限。
現在的粘着位可用於保護目錄中文件被其他人更改,對該目錄具有寫權限的用戶若要刪除或重命名目錄中的文件,必須是擁有此文件或擁有此目錄或是超級用戶,滿足3箇中的一個。
因爲每個程序運行在獨立的進程中,shell的當前工作目錄不會隨着函數調用而改變。CD命令用於在shell中更改工作目錄。

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