檔案描述符和檔案系統和裝置檔案

2021-06-09 18:05:35 字數 728 閱讀 3653

一、linux中的檔案

二、檔案描述符

1、檔案描述符及其作用

對於 linux 而言,所有對裝置和檔案的操作都使用檔案描述符來進行的。檔案描述符是乙個非負的整數,它是乙個索引值,並指向核心中每個程序開啟檔案的記錄表。當開啟乙個現存盤案或建立乙個新檔案時,核心就向程序返回乙個檔案描述符;當需要讀寫檔案時,

也需要把檔案描述符作為引數傳遞給相應的函式。

通常,乙個程序啟動時,都會開啟 3 個檔案:標準輸入、標準輸出和標準出錯處理。這3 個檔案分別對應檔案描述符為 0、1和2也就是巨集替換 stdin_fileno、stdout_fileno和stderr_fileno,鼓勵讀者使用這些巨集替換)。

可以如下檢視linux預設的檔案描述符,總共有1024個,對於大多數情況下是夠用的:

# ulimit -n

三、檔案系統

linux中採用檔案系統管理硬體裝置,所有的裝置都可以看成特殊的檔案,從而將硬體隱藏起來,應用程式對硬體裝置的操作就可以轉化為對「檔案的操作」。每個裝置都有乙個檔名,供檔案系統open()、read()、write()、close()等檔案系統函式的呼叫。

檔案流和 檔案描述符

include apue.h int glob 6 int main void else if pid 0 i printf pid d,glob d,var d n getpid glob,var sprintf buf,d n i write stdout fileno,buf,strlen b...

檔案指標和檔案描述符

原文 檔案描述符 在linux系統中,裝置也是以檔案的形式存在,要對該裝置進行操作就必須先開啟這個檔案,開啟檔案就會獲得檔案描述符,它是個很小的正整數。每個程序在pcb process control block 中儲存著乙份檔案描述符表,檔案描述符就是這個表的索引,每個表項都有乙個指向已開啟檔案的...

檔案指標和檔案描述符

檔案描述符 在linux系統中,裝置也是以檔案的形式存在,要對該裝置進行操作就必須先開啟這個檔案,開啟檔案就會獲得檔案描述符,它是個很小的正整數。每個程序在pcb process control block 中儲存著乙份檔案描述符表,檔案描述符就是這個表的索引,每個表項都有乙個指向已開啟檔案的指標。...