資料介紹
6.2 Linux中文件及文件描述符概述
在Linux中對目錄和設(shè)備的操作都等同于文件的操作,因此,大大簡化了系統(tǒng)對不同設(shè)備的處理,提高了效率。Linux中的文件主要分為4種:普通文件、目錄文件、鏈接文件和設(shè)備文件。
那么,內(nèi)核如何區(qū)分和引用特定的文件呢?這里用到了一個重要的概念——文件描述符。對于Linux而言,所有對設(shè)備和文件的操作都是使用文件描述符來進(jìn)行的。文件描述符是一個非負(fù)的整數(shù),它是一個索引值,并指向在內(nèi)核中每個進(jìn)程打開文件的記錄表。當(dāng)打開一個現(xiàn)存文件或創(chuàng)建一個新文件時,內(nèi)核就向進(jìn)程返回一個文件描述符;當(dāng)需要讀寫文件時,也需要把文件描述符作為參數(shù)傳遞給相應(yīng)的函數(shù)。
通常,一個進(jìn)程啟動時,都會打開3個文件:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)出錯處理。這3個文件分別對應(yīng)文件描述符為0、1和2(也就是宏替換STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,鼓勵讀者使用這些宏替換)。
基于文件描述符的I/O操作雖然不能移植到類Linux以外的系統(tǒng)上去(如Windows),但它往往是實現(xiàn)某些I/O操作的惟一途徑,如Linux中低級文件操作函數(shù)、多路I/O、TCP/IP套接字編程接口等。同時,它們也很好地兼容POSIX標(biāo)準(zhǔn),因此,可以很方便地移植到任何POSIX平臺上?;谖募枋龇腎/O操作是Linux中最常用的操作之一,希望讀者能夠很好地掌握。
?
Linux
加入交流群
掃碼添加小助手
加入工程師交流群
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- USB_HID_報表描述符
- Linux內(nèi)核文件Cache機(jī)制
- LINUX操作系統(tǒng)的安裝與Linux常用文件命令 3次下載
- MIDI文件格式的協(xié)議說明 3次下載
- 隱藏描述符工具應(yīng)用程序免費下載 12次下載
- USB各描述符之間的依賴是怎么樣的 8次下載
- USB設(shè)備鍵值表描述符說明資料免費下載 35次下載
- 如何在Linux下如何刪除大量文件的詳細(xì)資料概述 7次下載
- Linux基礎(chǔ)教程之如何在linux不解壓tar.gz文件查看的文件大小資料概述 2次下載
- Linux實用教程之Linux文件和目錄操作總結(jié) 0次下載
- AD如何生成Gerber文件的詳細(xì)中文資料概述 4次下載
- 代碼編譯器如何使用啟動GEL文件的詳細(xì)描述概述 8次下載
- 《Linux設(shè)備驅(qū)動開發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng) 0次下載
- 基于小波輪廓描述符和動態(tài)時間扭曲的電壓擾動分類 0次下載
- Linux 中文件權(quán)限管理的探討
- 一個進(jìn)程內(nèi)多次使用open打開同一個文件,可以嗎? 2.2k次閱讀
- 如何在INCA的測量文件中記錄數(shù)據(jù)集、ECU描述文件等額外信息? 5.1k次閱讀
- Linux系統(tǒng)文件比較工具集合 1.4k次閱讀
- 如何使用正確的文件和路徑分隔符 1.8k次閱讀
- 如何學(xué)習(xí)MR-SLAM的緊湊描述符的問題 1.2k次閱讀
- Linux 文件系統(tǒng)層的主要結(jié)構(gòu) 1.7k次閱讀
- 一文搞懂文件描述符 3.8k次閱讀
- 如何在Linux中查看隱藏文件 1.7w次閱讀
- 如何在Linux使用read命令讀取用戶的輸入并保存到多個變量中 5.4k次閱讀
- Linux文件是一個什么文件的路徑 1.7k次閱讀
- epoll LT和ET方式下的讀寫差別 2.7k次閱讀
- Linux與Windows文件換行符的區(qū)別 2.2k次閱讀
- 如何區(qū)別Linux文件系統(tǒng)呢? 4.3k次閱讀
- inotify框架的使用和原理!如何添加對于目標(biāo)文件的watch呢? 1.3w次閱讀
- 玩轉(zhuǎn)Linux,先把文件系統(tǒng)搞懂 2.2k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產(chǎn)品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項目案例及入門學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機(jī)主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





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