詳細(xì)講解Unix系統(tǒng)調(diào)用
近來(lái),隨著Unix系統(tǒng)的不斷普及,使用Unix系統(tǒng)的單位和個(gè)人也越來(lái)越多,特別是Linux的推出,更是風(fēng)靡全球。基于Unix系統(tǒng)的編程也愈顯重要。本文說(shuō)明怎樣在Unix系統(tǒng)下對(duì)文件和目錄進(jìn)行編程。是一個(gè)類似于Unix系統(tǒng)命令ls的程序,用于列出指定的目錄中所有文件和子目錄并計(jì)算出指定目錄所用的磁盤空間。
lstat系統(tǒng)調(diào)用:這是一個(gè)非常有用的Unix系統(tǒng)調(diào)用,用來(lái)獲取存儲(chǔ)在一個(gè)I節(jié)點(diǎn)上的信息。它接受兩個(gè)參數(shù):一個(gè)字符串指針,指向說(shuō)明一個(gè)文件的路徑名;另一個(gè)是指向stat結(jié)構(gòu)的指針,在這個(gè)結(jié)構(gòu)中,存放著有關(guān)這個(gè)文件的信息。
Unix系統(tǒng)Stat結(jié)構(gòu)包括以下成員:
st_mode:這個(gè)字段包含文件類型和它所具有的訪問(wèn)權(quán)限
st_ino:這個(gè)字段在一個(gè)給定的文件系統(tǒng)中***的標(biāo)識(shí)了這個(gè)文件
st_dev:這個(gè)字段***地標(biāo)識(shí)了包括這個(gè)文件的文件系統(tǒng)
st_rdev:如果I節(jié)點(diǎn)是一個(gè)特殊設(shè)備文件,則這個(gè)字段標(biāo)識(shí)設(shè)備的類型
st_nlink:文件鏈接的個(gè)數(shù)
st_uid:文件屬主的用戶ID
st_gid:文件的用戶組的組ID
st_size:文件的字節(jié)數(shù)
st_atime:文件數(shù)據(jù)最近一次被訪問(wèn)的時(shí)間
st_mtime:文件數(shù)據(jù)最近一次被更改的時(shí)間
st_ctime:文件狀態(tài)最近一次被修改的時(shí)間
opendir:它打開(kāi)一個(gè)指定的目錄,并返回一個(gè)DIR類型的指針。DIR數(shù)據(jù)類型包含如下兩個(gè)元素:
d_ino:文件I標(biāo)識(shí)號(hào),如果文件被刪除,則d_ino為0
d_name:此目錄下包含的文件名
readdir:它讀出指定目錄中的一個(gè)文件或子目錄,并將指針移到下一個(gè)文件或子目錄。
closedir:關(guān)閉相應(yīng)的目錄。
到這里,我們關(guān)于有關(guān)的Unix系統(tǒng)調(diào)用就講解完了。
【編輯推薦】