資料介紹
6.2 Linux中文件及文件描述符概述
在Linux中對(duì)目錄和設(shè)備的操作都等同于文件的操作,因此,大大簡(jiǎn)化了系統(tǒng)對(duì)不同設(shè)備的處理,提高了效率。Linux中的文件主要分為4種:普通文件、目錄文件、鏈接文件和設(shè)備文件。
那么,內(nèi)核如何區(qū)分和引用特定的文件呢?這里用到了一個(gè)重要的概念——文件描述符。對(duì)于Linux而言,所有對(duì)設(shè)備和文件的操作都是使用文件描述符來(lái)進(jìn)行的。文件描述符是一個(gè)非負(fù)的整數(shù),它是一個(gè)索引值,并指向在內(nèi)核中每個(gè)進(jìn)程打開(kāi)文件的記錄表。當(dāng)打開(kāi)一個(gè)現(xiàn)存文件或創(chuàng)建一個(gè)新文件時(shí),內(nèi)核就向進(jìn)程返回一個(gè)文件描述符;當(dāng)需要讀寫(xiě)文件時(shí),也需要把文件描述符作為參數(shù)傳遞給相應(yīng)的函數(shù)。
通常,一個(gè)進(jìn)程啟動(dòng)時(shí),都會(huì)打開(kāi)3個(gè)文件:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)出錯(cuò)處理。這3個(gè)文件分別對(duì)應(yīng)文件描述符為0、1和2(也就是宏替換STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,鼓勵(lì)讀者使用這些宏替換)。
基于文件描述符的I/O操作雖然不能移植到類Linux以外的系統(tǒng)上去(如Windows),但它往往是實(shí)現(xiàn)某些I/O操作的惟一途徑,如Linux中低級(jí)文件操作函數(shù)、多路I/O、TCP/IP套接字編程接口等。同時(shí),它們也很好地兼容POSIX標(biāo)準(zhǔn),因此,可以很方便地移植到任何POSIX平臺(tái)上。基于文件描述符的I/O操作是Linux中最常用的操作之一,希望讀者能夠很好地掌握。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- USB_HID_報(bào)表描述符
- Linux內(nèi)核文件Cache機(jī)制
- LINUX操作系統(tǒng)的安裝與Linux常用文件命令 3次下載
- MIDI文件格式的協(xié)議說(shuō)明 3次下載
- 隱藏描述符工具應(yīng)用程序免費(fèi)下載 11次下載
- USB各描述符之間的依賴是怎么樣的 8次下載
- USB設(shè)備鍵值表描述符說(shuō)明資料免費(fèi)下載 35次下載
- 如何在Linux下如何刪除大量文件的詳細(xì)資料概述 7次下載
- Linux基礎(chǔ)教程之如何在linux不解壓tar.gz文件查看的文件大小資料概述 2次下載
- Linux實(shí)用教程之Linux文件和目錄操作總結(jié) 0次下載
- AD如何生成Gerber文件的詳細(xì)中文資料概述 3次下載
- 代碼編譯器如何使用啟動(dòng)GEL文件的詳細(xì)描述概述 8次下載
- 《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng) 0次下載
- 基于小波輪廓描述符和動(dòng)態(tài)時(shí)間扭曲的電壓擾動(dòng)分類 0次下載
- Linux 中文件權(quán)限管理的探討
- 一個(gè)進(jìn)程內(nèi)多次使用open打開(kāi)同一個(gè)文件,可以嗎? 1347次閱讀
- 如何在INCA的測(cè)量文件中記錄數(shù)據(jù)集、ECU描述文件等額外信息? 2365次閱讀
- Linux系統(tǒng)文件比較工具集合 710次閱讀
- 如何使用正確的文件和路徑分隔符 897次閱讀
- 如何學(xué)習(xí)MR-SLAM的緊湊描述符的問(wèn)題 638次閱讀
- Linux 文件系統(tǒng)層的主要結(jié)構(gòu) 1034次閱讀
- 一文搞懂文件描述符 2741次閱讀
- 如何在Linux中查看隱藏文件 1.5w次閱讀
- 如何在Linux使用read命令讀取用戶的輸入并保存到多個(gè)變量中 4564次閱讀
- Linux文件是一個(gè)什么文件的路徑 1273次閱讀
- epoll LT和ET方式下的讀寫(xiě)差別 2194次閱讀
- Linux與Windows文件換行符的區(qū)別 1637次閱讀
- inotify框架的使用和原理!如何添加對(duì)于目標(biāo)文件的watch呢? 1.2w次閱讀
- 學(xué)習(xí)嵌入式linux系統(tǒng)開(kāi)發(fā),文件類型一定要分清 895次閱讀
- 玩轉(zhuǎn)Linux,先把文件系統(tǒng)搞懂 2083次閱讀
下載排行
本周
- 1PC3103 低功耗電流模式PWM控制器技術(shù)手冊(cè)
- 1.23 MB | 3次下載 | 免費(fèi)
- 2L7805CV TO-220三端穩(wěn)壓IC規(guī)格書(shū)
- 0.71 MB | 1次下載 | 免費(fèi)
- 3LoRa2021 全頻段無(wú)線通訊模塊規(guī)格書(shū)
- 814.22 KB | 1次下載 | 免費(fèi)
- 4L7812CV TO-220三端穩(wěn)壓IC規(guī)格書(shū)
- 1.35 MB | 次下載 | 免費(fèi)
- 5L7815CV TO-220三端穩(wěn)壓IC規(guī)格書(shū)
- 1.48 MB | 次下載 | 免費(fèi)
- 6N-12電子傾斜儀指南
- 0.24 MB | 次下載 | 10 積分
- 7基于CP500S掃描測(cè)頭的三坐標(biāo)測(cè)量系統(tǒng):復(fù)雜曲面零件解決方案
- 0.35 MB | 次下載 | 免費(fèi)
- 8STM32H747xI/G 英文數(shù)據(jù)手冊(cè)
- 5.09 MB | 次下載 | 免費(fèi)
本月
- 1PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 18次下載 | 4 積分
- 2電源測(cè)試報(bào)告-基于 國(guó)民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 17次下載 | 免費(fèi)
- 3世平基于靈動(dòng)微 SPIN560C 的低壓無(wú)刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 4900MHz全雙工無(wú)線發(fā)射器參考設(shè)計(jì)原理圖資料
- 0.40 MB | 6次下載 | 免費(fèi)
- 5PWM控制器的控制方法
- 0.39 MB | 3次下載 | 4 積分
- 6900MHz全雙工無(wú)線發(fā)射器參考設(shè)計(jì)
- 0.15 MB | 3次下載 | 1 積分
- 7美的電磁爐TM-S1-20B PN8124F+CHK S009資料圖
- 0.28 MB | 3次下載 | 10 積分
- 8FS313B USB 的 PD和QC 快充協(xié)議電壓誘騙控制器規(guī)格書(shū)
- 2.61 MB | 3次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191424次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73819次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論