檔案描述符

2021-09-25 10:52:24 字數 944 閱讀 6895

linux一切皆是檔案,即使是裝置,在系統中也會被對映乙個檔案。鍵盤和顯示器就是預設的標準輸入輸出指向的裝置檔案。系統中所有對檔案的操作都是通過檔案描述符來間接實現的,預設有三個描述符:0、1、2,分別對應標準輸入、標準輸出、標準錯誤。通過檔案描述符訪問檔案是通過以下三種資料結構相互關聯實現的。

1.每個程序維護一張自己的檔案描述符表。而後兩張是系統級,全域性只有一張。

2.從左到右是多對一的關係。只有第三張表,記錄的條數與系統中檔案個數是完全對應的。

3.不同程序對同乙個檔案訪問的模式和偏移量等屬性大部分時候不相同,所以同乙個檔案被多次開啟時,第二張表中會存在多條記錄對應同乙個檔案。

重定向到檔案中

輸出重定向:

a. 覆蓋:cmd n> file

b. 追加:cmd n>> file

c. 標準錯誤與標準輸出同時重定向:cmd &> file

輸入重定向:

a. 普通重定向:cmd < file

b. here documents:

cmd << delimiter

…delimiter

重定向到另乙個檔案描述符中

n的輸出重定向到m中:cmd n>&m

exec分配檔案描述符

a. 以讀寫的方式開啟檔案,並分配檔案描述符: exec n<> file (exec n< file / exec n> file)

b. 關閉檔案描述符:exec n>&-

c. 建立檔案描述符的副本:exec n>&m

eg.標準錯誤重定向到其他檔案,最後再恢復成螢幕

exec 99>&2

exec 2> errlog

ls -lw

exec 2>&99

exec 99>&-

mysql 檔案描述符 檔案描述符

toc 首先,linux的世界裡一切皆為檔案,無論是裝置還是乙個socket連線。檔案又可分為 普通檔案 目錄檔案 鏈結檔案和裝置檔案。檔案描述符 file descriptor 是核心為了高效管理已被開啟的檔案所建立的索引,其是乙個非負整數 通常是小整數 用於指代被開啟的檔案,所有執行i o操作的...

檔案描述符

檔案描述符 是個很小的正整數,它是乙個索引值,指向核心為每乙個程序所維護的該程序開啟檔案的記錄表。檔案描述符的優點 相容posix標準,許多 linux 和unix 系統呼叫都依賴於它。檔案描述符的缺點 不能移植到unix以外的系統上去,也不直觀。基於檔案描述符的輸入輸出函式 open 開啟乙個檔案...

檔案描述符

作業系統程序表中存放各個檔案進行檔案描述 核心 kernel 利用檔案描述符 file descriptor 來訪問檔案。檔案描述符是非負整數。開啟現存盤案或新建檔案時,核心會返回乙個檔案描述符。讀寫檔案也需要使用檔案描述符來指定待讀寫的檔案。目錄檔案描述符概述 如何建立檔案描述符 使用的好處 缺點...