《基于UNIX/Linux的C系統(tǒng)編程》

第二章 文件操作

1. 在UNIX系統(tǒng)中觅够,對文件的操作方法有兩種:基于標準庫函數(shù)的文件操作和基于系統(tǒng)調用的文件操作赏陵,二者應用不同势腮,各具優(yōu)勢。

2. UNIX系統(tǒng)把數(shù)據(jù)存放在文件中,可以通過系統(tǒng)調用來操作文件,這些系統(tǒng)調用有open歹茶、create、read你弦、write惊豺、lseek和close。

3. 進程對文件的讀/寫都要通過文件描述符禽作,文件描述符表示文件和進程之間的連接尸昧。

4. 每次系統(tǒng)調用都會導致目態(tài)(用戶態(tài)),與管態(tài)(核心態(tài))之間的切換以及內核代碼的執(zhí)行旷偿,所以盡量減少程序中系統(tǒng)調用發(fā)生的次數(shù)有助于提高程序的運行效率烹俗。

5. 程序可以通過緩沖技術來減少程序調用的次數(shù),僅當寫緩沖區(qū)滿或讀緩沖區(qū)為空時才調用內核服務萍程。

6. UNIX內核可以通過內核緩沖區(qū)來減少訪問磁盤I/O的次數(shù)衷蜓。

7. 磁盤上有文件和目錄,文件和目錄都是有內容和屬性的尘喝。文件的內容可以是任意的數(shù)據(jù)磁浇,而目錄的內容只能是文件名或目錄名的列表。

8. 目錄中的文件名或目錄名指向文件或其他目錄朽褪,內核提供了系統(tǒng)調用來讀取目錄的內容置吓,以及讀取和修改文件的屬性。

9. 文件的類型缔赠,文件的訪問權限和特殊屬性衍锚,被編碼到一個十六位整數(shù)中,可以通過掩碼技術來讀取這些信息 嗤堰。

10. UNIX文件系統(tǒng)包含3個主要部分:超級塊戴质、i節(jié)點表和數(shù)據(jù)區(qū)域。文件內容踢匣,存儲在數(shù)據(jù)區(qū)告匠,文件屬性存儲在i節(jié)點上。i節(jié)點是文件的唯一標識离唬。

11. 相同的i節(jié)點可能以不同的名字在若干個目錄中出現(xiàn)后专。每個入口被稱為指向文件的硬鏈接。符號連接是通過文件名引用文件输莺,而不是i節(jié)點號戚哎。

12. 若干個文件系統(tǒng)的目錄樹可被整合成一棵樹裸诽。內核將一個文件系統(tǒng)的目錄連接到另一個文件系統(tǒng)的根的操作稱為裝載(掛載)。

13. 磁盤文件和設備文件都有名字型凳,屬性和權限丈冬。普通的文件系統(tǒng)調用open、create甘畅、read殷蛇、write、lseek和close均可被應用于設備文件橄浓。文件權限位以同樣的方式應用于控制設備文件和磁盤文件的訪問粒梦。

14. 在處理和傳輸數(shù)據(jù)方面,到磁盤文件的連接不同于到設備文件的連接荸实。內核中管理與設備連接的代碼被稱為設備驅動程序匀们。通過調用fcntl和ioctl函數(shù),進程可以讀取和改變設備驅動程序的設置准给。

15. 函數(shù)tcgetattr和函數(shù)tcsetattr專門用來提供對終端驅動器的控制泄朴。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市露氮,隨后出現(xiàn)的幾起案子祖灰,更是在濱河造成了極大的恐慌,老刑警劉巖畔规,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件局扶,死亡現(xiàn)場離奇詭異,居然都是意外死亡叁扫,警方通過查閱死者的電腦和手機三妈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來莫绣,“玉大人畴蒲,你說我怎么就攤上這事《允遥” “怎么了模燥?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掩宜。 經(jīng)常有香客問我蔫骂,道長,這世上最難降的妖魔是什么锭亏? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任纠吴,我火速辦了婚禮,結果婚禮上慧瘤,老公的妹妹穿的比我還像新娘戴已。我一直安慰自己,他們只是感情好锅减,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布糖儡。 她就那樣靜靜地躺著,像睡著了一般怔匣。 火紅的嫁衣襯著肌膚如雪握联。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天每瞒,我揣著相機與錄音金闽,去河邊找鬼。 笑死剿骨,一個胖子當著我的面吹牛代芜,可吹牛的內容都是我干的。 我是一名探鬼主播浓利,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼挤庇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贷掖?” 一聲冷哼從身側響起嫡秕,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苹威,沒想到半個月后昆咽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡牙甫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年潮改,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腹暖。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡汇在,死狀恐怖,靈堂內的尸體忽然破棺而出脏答,到底是詐尸還是另有隱情糕殉,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布殖告,位于F島的核電站阿蝶,受9級特大地震影響,放射性物質發(fā)生泄漏黄绩。R本人自食惡果不足惜羡洁,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望爽丹。 院中可真熱鬧筑煮,春花似錦辛蚊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秸应,卻和暖如春虑凛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背软啼。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工桑谍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人祸挪。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓锣披,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匕积。 傳聞我的和親對象是個殘疾皇子盈罐,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內容