APUE 第四章总结
第四章寫的真的好(先吹一波)
內(nèi)容概括:
這一章主要講解了stat里面的各個(gè)字段,以此講解unix的文件系統(tǒng)和一些和文件目錄有關(guān)的API
講解細(xì)致,stat函數(shù)可以獲取一個(gè)文件的狀態(tài)信息,包括:
1 文件類型和文件模式字和對(duì)文件的訪問權(quán)限
2 i節(jié)點(diǎn)編號(hào)
3 設(shè)備號(hào)
4 特殊文件的設(shè)備號(hào)
5 鏈接數(shù)量
6 uid
7 gid
8 文件長(zhǎng)度
9 訪問時(shí)間
10 修改時(shí)間
11 狀態(tài)改變時(shí)間
12 字節(jié)塊的大小
13 字節(jié)塊數(shù)
主要內(nèi)容:
文件類型:
1 普通文件
2 目錄文件(只有內(nèi)核才能直接寫文件)
3 塊特殊文件 提供對(duì)設(shè)備帶緩沖的訪問
4 字符特殊文件 提供不帶緩沖的訪問
5 FIFO 命名管道
6 套接字 SOCKET
7 符號(hào)鏈接
提供了一些宏訪問
以及一些IPC對(duì)象,消息隊(duì)列,信號(hào)量,共享儲(chǔ)存對(duì)象
ID:
一個(gè)進(jìn)程相關(guān)聯(lián)的ID往往有6個(gè)或更多
實(shí)際用戶ID:
實(shí)際組ID:
我們實(shí)際上是誰(shuí)
有效用戶ID
有效祖ID
附屬組ID
用于權(quán)限檢查
保存的設(shè)置用戶ID
保存的設(shè)置祖ID
當(dāng)有效ID被替換時(shí),這兩個(gè)字段保存有效iD
在st_mode字段中,有三個(gè)特殊的位,分別為設(shè)置用戶ID位,設(shè)置組ID位,黏著位
當(dāng)設(shè)置用戶ID位,設(shè)置組ID位,被設(shè)置時(shí),當(dāng)一個(gè)進(jìn)程訪問該文件時(shí),相應(yīng)有效ID被設(shè)置位文件所有者ID位
文件訪問權(quán)限:
在st_mode字段中
u:rwx
g:rwx
o: rwx
訪問目錄去打開文件時(shí),需要對(duì)目錄有執(zhí)行權(quán)限,所以也被成為搜索位
在目錄中創(chuàng)建一個(gè)新文件,必須對(duì)該目錄有寫權(quán)限和執(zhí)行權(quán)限
刪除文件時(shí),同上
對(duì)一個(gè)文件進(jìn)行操作時(shí),內(nèi)核根據(jù)有效用戶id->有效組ID->其他用戶的順尋檢查
新文件和目錄的所有權(quán)(注意是ID,而不是文件權(quán)限):
新文件的用戶ID設(shè)置為進(jìn)程的有效用戶ID
組ID:
可以是進(jìn)程的有效組ID
可以是目錄的組ID
目錄規(guī)則相同
黏著位:
在以前的UNIX系統(tǒng)中,如果文件設(shè)置了這一位,那么在程序終止時(shí),程序正文部分的一個(gè)副本被保存在交換區(qū)中,時(shí)的下次執(zhí)行時(shí)能較快的載入內(nèi)存
現(xiàn)在的已經(jīng)不需要這種技術(shù)了
有了新的功能:
如果目錄設(shè)置了該位:
只有對(duì)該目錄有寫權(quán)限的并且滿足(擁有此文件,擁有此目錄,超級(jí)用戶條件之一)才能刪除和重命名文件
文件系統(tǒng):
書上的是UFS文件系統(tǒng)
每一個(gè)分區(qū)是一個(gè)文件系統(tǒng)
目錄項(xiàng)指向Inode,inode指向數(shù)據(jù)塊或者目錄項(xiàng)
每一個(gè)inode有一個(gè)鏈接計(jì)數(shù),鏈接計(jì)數(shù)為0才刪除,這里是硬鏈接
inode中包含了文件有關(guān)的信息
目錄項(xiàng)中有文件名,i節(jié)點(diǎn)編號(hào)
數(shù)據(jù)項(xiàng)是文件真正的數(shù)據(jù)
符號(hào)鏈接:
與硬鏈接的區(qū)別:
硬鏈接指向i節(jié)點(diǎn),且只能在同一文件系統(tǒng),只有超級(jí)用于才能指向目錄的硬鏈接
在使用文件的API時(shí)應(yīng)該注意是否跟隨符號(hào)鏈接
在出現(xiàn)循環(huán)時(shí),如果時(shí)硬鏈接就比較難消除
但是因?yàn)閡nlink不跟隨符號(hào)鏈接,所以比較容易消除這種循環(huán)
API
access faccesssat
用實(shí)際用戶ID訪問
umask 設(shè)置文件模式創(chuàng)建屏蔽字(訪問權(quán)限)
chmod 三兄弟 改變?cè)L問權(quán)限
chown四兄弟改變文件所有者
unlink解除一個(gè)鏈接
總結(jié)
以上是生活随笔為你收集整理的APUE 第四章总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: N56vz难以关闭触摸板的问题(转载)
- 下一篇: vue中css写法_vue css 写