linux中的檔案描述符概念

2021-07-02 11:37:18 字數 391 閱讀 6803

1.檔案描述符

檔案描述符,file descriptor,簡稱fd。檔案描述符在形式上是乙個非負整數。實際上,它是乙個索引值,指向核心為每乙個程序所開啟檔案的記錄表。當程式開啟乙個現有檔案或者建立乙個新檔案時,核心向程序返回乙個檔案描述符。在程式設計中,一些涉及底層的程式編寫往往會圍繞著檔案描述符展開。socket返回的也是檔案描述符。

值得注意的是,檔案描述符是乙個整數,它和指標不是一回事,但是他們之間可以通過一些函式進行轉換。

在linux系列的作業系統上,由於linux的設計思想便是把一切裝置都視作檔案。因此,檔案描述符為在該系列平台上進行裝置相關的程式設計實際上提供了乙個統一的方法。

2.閒雜

在windows平台下,將檔案描述符、訊號量以及互斥鎖等等核心物件都記做控制代碼handle.

Linux中的檔案描述符

在linux系統中一切皆可以看成是檔案,檔案又可分為 普通檔案 目錄檔案 鏈結檔案和裝置檔案。檔案描述符 file descriptor 是核心為了高效管理已被開啟的檔案所建立的索引,其是乙個非負整數 通常是小整數 用於指代被開啟的檔案,所有執行i o操作的系統呼叫都通過檔案描述符。程式剛剛啟動的時...

linux檔案描述符

本文介紹了檔案描述符,1 首先說什麼是檔案描述符,它有什麼作用?檔案描述符是乙個簡單的整數,用以標明每乙個被程序所開啟的檔案和socket。基於檔案描述符的輸入輸出函式 open 開啟乙個檔案,並指定訪問該檔案的方式,呼叫成功後返回乙個檔案描述符。creat 開啟乙個檔案,如果該檔案不存在,則建立它...

linux檔案描述符

當某個程式開啟檔案時,作業系統返回相應的檔案描述符,程式為了處理該檔案必須引用此描述符。所謂的檔案描述符是乙個低階的正整數。最前面的三個檔案描述符 0,1,2 分別與標準輸入 stdin 標準輸出 stdout 和標準錯誤 stderr 對應。因此,函式 scanf 使用 stdin,而函式 pri...