在c庫里io的相關操作:回顧io介面:fopen fclose,fwrite,fread,fseek
linux下的檔案描述符:非負整數,檔案的操作控制代碼,憑什麼數字可以操作檔案
struct file{} 陣列
在程序中會開啟很多檔案,程序要對檔案進行管理(描述(struct file)+組織(陣列))
開啟乙個--》對檔案進行描述--》放入陣列中空閒沒用的地方 最小下標預設為3 (012被占用, stdin,身stdout, stderr 預設是開啟的 這三個各有乙個檔案描述符占用了這三個位置)
描述符就是這個檔案描述結構體陣列的下標,檔案操作就是通過描述符找到對應的檔案描述資訊,進而對檔案進行操作。
庫函式是系統呼叫的一層封裝,檔案流指標中有乙個成員就是檔案描述符
我們說的printf問緩衝區其實就是file這個結構體中定義的緩衝區
stdin 0 stdout 1 stderr 2
用庫函式開啟乙個檔案其實會建立兩個結構體,乙個是核心空間中的struct file,
乙個是使用者空間的 struct _io _file(file)
重定向功能:整體重定向的原理
軟硬鏈結檔案
動靜態鏈結的生成
檔案重定向:改變資料的流向。讓寫入乙個檔案的資料,流向改變之後流入另乙個檔案
改變檔案描述符這個下標所對應的檔案描述資訊(而檔案描述符內部沒有改變)
dup2(old,new)讓new也指向old所指向的檔案
檔案系統:
超級塊 inode_bitmap data_bitmap inode節點區 資料區
Linux I O 重定向基礎
linux 管理的乙個最重要並且有趣的話題是 i o 重定向。此功能在命令列中使你能夠將命令的輸入輸出取自或送到檔案中,或者可以使用管道將多個命令連線在一起以形成所謂的 命令管道 我們執行的所有命令基本上產生兩種輸出 在 linux 和其他類 unix 系統中,有三個預設檔案 名稱如下 這些檔案也由...
html基礎梳理
一,html是什麼 超文字標記語言 英語 hypertext markup language 簡稱 html 是一種用於建立網頁的標準標記語言。html 執行在瀏覽器上,由瀏覽器來解析。二,html包含幾部分?1.宣告 html5 html 4.01 xhtml 1.0 2.編碼 metachars...
linux IO學習筆記 (持續更新錯誤)
linux 學習筆記 一 linux的快取io機制 從許可權上來說,核心擁有許可權很高,可訪問所有底層硬體。而使用者 程序 的許可權相對較低,而這樣的目的便是為了保護核心的安全。從記憶體空間上來說,作業系統把記憶體分成了兩份,乙份給核心用 稱為核心空間 乙份給使用者 程序 用 稱為使用者空間 兩者絕...