關於學習 Linux 系統結構的一些總結

安全劍客發表於2020-12-03

如果大夥看到這個標題就覺得這篇文章會給出多麼有深刻意義的見解,那我個人覺得您可以移步啦!首先我先澄清下:我寫這篇文章目的,純粹出於對Linux 檔案系統結構的一知半解,所以在深入瞭解學習後出現的一篇文章。

作為一名IT 運維人員的我,在實際工作當中遇到Linux 故障的情形還挺多的,可以經常接觸到linux 系統實際生產環境,由於工作的原因接觸到Linux ,然後,理所當然開始學習Linux (自學),靜下心來慢慢的就進入那種忘我的狀態,而且會激發你的求知慾的。現在回想起來整體感覺挺好的,學習一段時間後就會進入瓶頸期,那麼就要尋求更快捷、更深入的解決思路書籍、前輩及培訓等。

一、歷史背景

言歸正傳,在分享關於Linux 系統結構的一些總結前,我想問下正在讀這篇文章的你一個問題:你是不是對Linux 的那麼多的目錄很費解,不明白為什麼這樣設計?是不是也在死記硬背Linux 中不同目錄的區別呢?舉例來說:根目錄下有一個子目錄/bin ,用於存放二進位制程式,但是,/usr 子目錄下面有個/usr/bin ,也用於存放二進位制程式,那它們有什麼區別呢?

其實,大家都知道,任何一個事情都有它背後的原因,Linux 目錄結構是由歷史造成的,簡單描述下透過故事形式加深理解。

話說當年它們用的盤只有可憐的1.5M ,隨著時間的延續,作業系統(也就是根目錄)也會變得越來越大,直到第一塊盤已經裝不下了。於是,他們這時候只好增加第二塊盤,並且指定第一塊盤只能用於存放系統程式,而第二塊盤只能用於存放使用者自己的程式,目錄名稱/usr 就是這麼來的。也就是說,根目錄--"/" 掛載在第一塊盤,使用者程式---"/usr" 目錄掛載在第二塊盤。除此之外,兩塊盤的目錄結構完全相同,第一塊盤的目錄(/bin, /sbin, /lib, /tmp... )都在/usr 目錄下重新出現一次。漸漸地,第二塊盤也滿了,他們只好又加了第三塊盤,掛載的目錄點指定為/home ,同時指定/usr 目錄用於存放使用者的程式,/home 目錄用於存放使用者的資料。

隨著歷史的車輪不斷的進步,Linux 目錄結構就這麼建立起來了。

二、虛擬檔案系統(VFS

Linux 作業系統是由Unix 進化而來,所以它和 UNIX  作業系統一樣,是將新的檔案系統透過一個稱為“掛載”的操作將其掛裝到某個目錄上,從而能夠讓不同的檔案系統組合成為一個整體。

Linux  作業系統的一個重要特點就是它能夠支援許多不同型別的檔案系統。Linux 能夠支援Ext2 FAT VFAT FAT32 MINIX 等不同型別的檔案系統,從而可以方便地和其它作業系統交換資料。Linux 支援不同的檔案系統的特性引出一個新的概念--- 虛擬檔案系統. VirtualFileSystem,VFS ):

虛擬檔案系統(VFS )是 Linux 核心中非常有用的一個層面,因為它在使用者和檔案系統之間提供了一個交換層:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2738981/,如需轉載,請註明出處,否則將追究法律責任。

相關文章