檔案描述符是一個非負整數,在類Unix系統中,它用於指代和訪問檔案或其他輸入/輸出資源,如管道、Socket等。檔案描述符的概念主要適用於UNIX、Linux等作業系統。
當程式打開一個現有檔案或創建一個新檔案時,核心會向進程返回一個檔案描述符。這個描述符充當檔案表中的一個索引,用於快速訪問和操作檔案。每個檔案描述符都與一個打開的檔案相對應,即使不同的檔案描述符也可能指向同一個檔案。系統為每個進程維護了一個檔案描述符表,這個表通常從索引0開始。例如,在C語言的stdio庫中,標準輸入的檔案描述符通常是0,標準輸出的檔案描述符是1,標準錯誤的檔案描述符是2。
總的來說,檔案描述符是一個用於高效管理已被打開檔案的索引,所有I/O操作的系統調用都會通過檔案描述符來完成。