系統(tǒng)基礎-文件系統(tǒng)

Linux 文件系統(tǒng)

文件系統(tǒng)

Linux 使用了樹形文件存儲結構青自,在磁盤上存儲文件的時候统屈,使用的則是目錄加文件的形式。但實際上撑毛,對于磁盤等各種存儲設備來說书聚,無論是什么數(shù)據(jù),都只有0和1的概念藻雌。但是對用于而言雌续,0和1毫無意義。這時候就需要一種類似于"翻譯"的機制存在于用戶和磁盤之間(我的理解就是將0和1轉換成為我們看到的文件的形式)胯杭。

在Linux中采用的是文件系統(tǒng)+虛擬文件系統(tǒng)(virtual File System,VFS)的解決方案驯杜。

什么是文件系統(tǒng)

文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上相關文件的方法和數(shù)據(jù)結構。

我的理解是:

將邏輯上的屬于寫入物理的設備做个,然后以用戶能夠理解的方式展現(xiàn)于屏幕上的方法鸽心。

在使用前,都需要針對磁盤做初始化操作叁温,并將記錄的數(shù)據(jù)結構寫入磁盤再悼,這種操作就是建立文件系統(tǒng),在有些操作系統(tǒng)中稱之為格式化膝但。

Linux 支持多種不同的文件系統(tǒng)冲九,但大多數(shù)Linux系統(tǒng)都具有類似的通用結構,包括如下結構:

  • 超級塊(superblock)
  • i 節(jié)點(inode)-
  • 數(shù)據(jù)塊(data block)
  • 目錄塊(directory block)
作用
超級塊 包含文件系統(tǒng)的總體信息跟束,是文件系統(tǒng)的核心莺奸,所以在磁盤中會有多個超級塊,以防止由于磁盤出現(xiàn)壞塊導致全部文件無法使用
i 節(jié)點 存儲所有與文件有關的元數(shù)據(jù)冀宴,也就是文件所有者灭贷、權限等屬性數(shù)據(jù)以及指向的數(shù)據(jù)塊,但是不包括文件名和文件內容
數(shù)據(jù)塊 是真實存放文件數(shù)據(jù)的部分略贮,一個數(shù)據(jù)塊默認情況下是 4KB
目錄塊 包括文件名和文件在目錄中的位置甚疟,并包括文件的 i 節(jié)點數(shù)據(jù)

ext2 文件系統(tǒng)簡介

在 Ext2 出現(xiàn)之前,Linux 采用的是 minix 逃延。

但是它存在局限性览妖,比如文件名最長僅支持14個字符,文件最大為64MB等揽祥。

Ext2 的原理:

采取的方法是將文件數(shù)據(jù)存放在數(shù)據(jù)塊中讽膏,這些數(shù)據(jù)塊的大小可以在創(chuàng)建文件系統(tǒng)的時候指定。對于存放的每個文件和莫露露拄丰,都會有一個 inode 指定府树,文件系統(tǒng)中所有的 inode 都是使用 inode 表來進行記錄的俐末。一定數(shù)量的塊就會被組成一個塊組。

在Ext2文件系統(tǒng)中奄侠,整個分區(qū)的文件系統(tǒng)信息被存放在超級塊中卓箫,考慮到超級塊的重要性,因此在每個塊組的開頭中都有相同的備份垄潮。

Ext2 的優(yōu)缺點

優(yōu)點:

Ext2 有著極好的存儲性能丽柿,所以曾一度成為 Linux 中的標準文件系統(tǒng)。

缺點:

不支持日志功能魂挂,這很容易造成一些情況下丟失數(shù)據(jù)甫题。

ext3文件系統(tǒng)簡介

為了彌補ext2文件系統(tǒng)的不足,有日志功能的ext3文件系統(tǒng)應運而生了涂召。它直接從ext2文件系統(tǒng)發(fā)展而來坠非,所以完全兼容ext2文件系統(tǒng),而且支持從ext2非常簡單地(只需要兩條命令)轉換為ext3,這種特性讓更多的老用戶轉為使用 ext3 文件系統(tǒng)果正。

為什么需要日志文件系統(tǒng)炎码。

因為在寫入數(shù)據(jù)之前,會先寫入日志秋泳。在出現(xiàn)問題的時候潦闲,可以追溯原因。而Ext2修復文件系統(tǒng)時迫皱,需要遍歷整個文件系統(tǒng)歉闰。因此相比后者,前者節(jié)省了大量的時間卓起。且對系統(tǒng)做了優(yōu)化和敬,在性能上不會比 ext2 低。

磁盤分區(qū)戏阅、創(chuàng)建文件系統(tǒng)昼弟、掛載

磁盤使用前需要對其進行分割,這種行為被稱為“分區(qū)”奕筐。

磁盤的分區(qū)分為兩類舱痘,即主分區(qū)和擴展分區(qū)。

受限于磁盤分區(qū)表的大小(MBR大小為512字節(jié)离赫,其中分區(qū)表占64字節(jié))芭逝,由于每個分區(qū)信息使用16字節(jié),所以一塊磁盤最多只能創(chuàng)建4個主分區(qū)笆怠,為了能夠支持更多分區(qū)铝耻,可以使用擴展分區(qū)(在擴展分區(qū)中可以劃分更多邏輯分區(qū))誊爹,但是即使如此蹬刷,分區(qū)還是要受主分區(qū)+擴展分區(qū)最多不能超過4個的限制瓢捉。

在完成磁盤分區(qū)后,需要進行創(chuàng)建文件系統(tǒng)的操作办成,最后將該分區(qū)掛載到系統(tǒng)中的某個掛載點才可以使用。

創(chuàng)建文件系統(tǒng)

fdisk -l            // 查看磁盤
image
fdisk /dev/sdb      // 分區(qū)
image
mkfs -t ext3 /dev/sdb1  // 格式化,創(chuàng)建文件系統(tǒng)
image
image

磁盤掛載

mkdir newDisk               // 新建一個目錄
mount DEVICE MOUNT_POINT    // 掛載設備作瞄,掛載點為一個目錄
mount                       // 默認為顯示所有掛載
image

設置啟動自動掛載

之前的掛載只是暫時的途凫,需要配置 /etc/fstab 使得系統(tǒng)在重啟后自動掛載

image

這樣,以后系統(tǒng)重啟時而克,設備就會自動掛載了靶壮。

磁盤檢驗

umount /dev/sdb1            // 取消掛載

或者

umount /root/newDisk

當磁盤出現(xiàn)邏輯錯誤的時候,可以使用 fsck 命令來修復

fsck -t ext3 /dev/sdb1

如果系統(tǒng)的根文件出現(xiàn)問題需要修復员萍,則需要重啟計算機腾降,當系統(tǒng)在重啟時檢測到根文件出現(xiàn)問題,會提示用戶輸入root密碼進入單用戶模式碎绎,這樣就可以使用 fsck 來修復根目錄了螃壤。

與 fsck 不同,badblocks 主要是用來檢測磁盤的物理壞道的筋帖,使用這個命令其實更多的只是確認磁盤是否有壞道奸晴,所以平時使用的較少,往往只是在懷疑磁盤有壞道的時候才會使用日麸。

badblocks -v /dev/sdb1

Linux 邏輯卷

當磁盤不夠用的時候寄啼,需要使用邏輯卷來補充磁盤容積。

什么是邏輯卷

含義
物理卷 物理磁盤分區(qū)代箭,例如 /dev/sdb1
卷組 物理卷的集合
邏輯卷 從物理卷中劃分出來的一塊邏輯磁盤

創(chuàng)建邏輯卷

TODO 這里將要寫入如何創(chuàng)建邏輯卷

硬鏈接和軟鏈接

TODO 這里將要寫入關于硬鏈接和軟鏈接
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末辕录,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子梢卸,更是在濱河造成了極大的恐慌走诞,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛤高,死亡現(xiàn)場離奇詭異蚣旱,居然都是意外死亡,警方通過查閱死者的電腦和手機戴陡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門塞绿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恤批,你說我怎么就攤上這事异吻。” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵诀浪,是天一觀的道長棋返。 經常有香客問我,道長雷猪,這世上最難降的妖魔是什么睛竣? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮求摇,結果婚禮上射沟,老公的妹妹穿的比我還像新娘。我一直安慰自己与境,他們只是感情好验夯,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摔刁,像睡著了一般簿姨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上簸搞,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天扁位,我揣著相機與錄音,去河邊找鬼趁俊。 笑死域仇,一個胖子當著我的面吹牛,可吹牛的內容都是我干的寺擂。 我是一名探鬼主播暇务,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怔软!你這毒婦竟也來了垦细?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤挡逼,失蹤者是張志新(化名)和其女友劉穎括改,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體家坎,經...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡嘱能,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了虱疏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惹骂。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖做瞪,靈堂內的尸體忽然破棺而出对粪,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布著拭,位于F島的核電站纱扭,受9級特大地震影響,放射性物質發(fā)生泄漏茫死。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一履羞、第九天 我趴在偏房一處隱蔽的房頂上張望峦萎。 院中可真熱鬧,春花似錦忆首、人聲如沸爱榔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽详幽。三九已至,卻和暖如春浸锨,著一層夾襖步出監(jiān)牢的瞬間唇聘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工柱搜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留迟郎,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓聪蘸,卻偏偏與公主長得像宪肖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子健爬,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內容

  • 轉載自:http://blog.csdn.net/hguisu/article/details/6122513原作...
    miaoiao閱讀 1,508評論 0 7
  • Linux系統(tǒng)一般有4個主要部分: 內核控乾、shell、文件系統(tǒng)和應用程序娜遵。內核蜕衡、shell和文件系統(tǒng)一起形成了基本...
    偷風箏的人_閱讀 3,241評論 1 17
  • Linux系統(tǒng)一般有4個主要部分:內核、shell设拟、文件系統(tǒng)和應用程序衷咽。 內核、shell和文件系統(tǒng)一起形成了基本...
    請愛護小動物閱讀 2,549評論 0 22
  • 人要做到什么地步才算要完好蒜绽,我并不知道镶骗。 只是總覺得自己做得不夠好,甚至還很差躲雅。 想法設法地去補救鼎姊,渴望拯救困頓迷...
    謙謙君子vampire閱讀 290評論 0 0
  • —— Kurny 我在黑暗中, 朝著你走去, 你是虞美人嗎相寇? 哦慰于,不! 他們說唤衫,你是太陽花婆赠。 黑夜...
    Kurny91閱讀 428評論 10 7