我們都知道在unix系統中,檔案分為兩種--------普通檔案和目錄。unix大多數都是這些檔案型別。但是也有另外一種。
下面簡單介紹一下檔案型別:
(1)普通檔案。最常見的檔案型別。
(2)目錄檔案。這種檔案包含了其他檔案的名字以及指向與這些檔案有關的資訊指標。對乙個目錄檔案具有讀許可權的任一程序都可以讀該目錄的內容,但只有核心可以直接寫目錄檔案。
(3)塊特殊檔案。這種檔案型別提供對裝置的帶緩衝的訪問。每次訪問以固定的長度為單位進行。
(4)字元特殊檔案。這種檔案為不帶緩衝的檔案。
(5)fifo.這種檔案用於程序間通訊。有時候也將其命名為管道。
(6)套接字。這種檔案用於程序間網路通訊。
(7)符號鏈結。這種檔案型別指向另乙個檔案。
表 中的檔案型別巨集
s_isreg() 普通文字
s_isdir() 目錄文字
s_ischr() 字元特殊文字
s_isblk() 塊特殊文字
s_isfifo() 管道或fifo
s_islnk() 符號連線
s_issock() 套接字
中的ipc型別巨集
s_typeismq()表示訊息佇列; s_typeissem()表示訊號量 ; s_typeisshm()表示共享儲存物件.
例項
下面的程式取其命令列引數然後針對每個命令列引數列印其檔案型別。
#include "apue.h" int main(int argc,char* argv) { int i; struct stat buf; char* ptr; for(i=1;i
結果如上圖所示
今天就說到這裡。今天打球了,很累。。回去休息了~明天再戰。
unix環境高階程式設計 4 18 檔案時間
在unix系統中,每個檔案要保持三個時間字段,他們的意義分別如下 字段說明 例子ls選項 st atime st mtime st time 檔案資料的最後訪問時間 檔案按資料的最後修改時間 i節點狀體的最後更改時間 read write chmo,chown u預設 c注意st mtime 指的是...
Unix環境高階程式設計 一 檔案I O
unix系統中大多數檔案i o只需用到五個函式 open read write lseek close。本章說介紹的i o是不帶緩衝的,即 每個read和write都呼叫核心中的乙個系統呼叫。不是iso c的組成部分。對於核心而言,所有開啟的檔案都通過檔案描述符引用。在中定義三個標準的檔案描述符 s...
Unix環境高階程式設計學習筆記(二) 檔案IO
談linux下的檔案操作,我們首先需要了解程序表,這是被每個程序所維護的一張開啟檔案的對映表,參照下圖。索引值是檔案描述符,與之相關聯的節點包含fd flag以及乙個指向file table的指標。其中fd flag主要包含close on exec標記,該標記的作用在於當開闢其他程序呼叫exec ...