Linux文件系統初識

Linux文件系統初識

       文件系統是一種用于向用戶提供數據訪問的機制,我們的硬盤,U盤等存儲設備會被文件系統分割為特定大小的塊,系統中的文件就被存儲在數據塊中,而我們平常接觸到的分區,目錄,文件等正是文件系統通過組織整合之后才呈現在我們面前的,我們無需去關心我們的數據到底存儲在硬盤的那個扇區,只需關注目錄,文件名等即可。通過這種機制,大大提高了我們的效率。

       在我們熟悉的windows系統中,經歷了FAT>>FAT32>>NTFS的進化過程,以我們平常接觸最多的winXP,win7win8,win10為例,都采用了NTFS文件系統,支持日志和跟蹤權限,對windows友好。還有我們遇到的蘋果設備,采用的是HFS+文件系統,雖然它已經算元老級的的文件系統,但是與優化較好的MAC系統搭配起來使用,擁有不俗的實力,不用像windows下那樣經常去清理磁盤碎片。在2017蘋果全球開發者大會上發布了新的文件系統APFS,專門針對閃存、SSD進行了優化,可以全面提升設備的存儲性能和數據安全。

       接下來,就該我們的主角登場了,在我們學習linux的過程中,我們會經常聽到一句話:一切皆文件,這是linux的核心思想,在linux下,目錄,文件地位同等,程序、服務、文本、圖片等等,都是文件。對于系統來說,輸入和輸出設備,基本上所有的設備,都被當做是文件。

                                      Linux文件系統初識

         如上圖所示,目錄樹正如其名,在根/目錄下懸掛著我們熟悉的二級目錄,接下來,介紹幾個熟悉的目錄給大家。

1.      /bin binary的縮寫,二進制可執行命令。

2.      /dev device的縮寫,保存設備文件。

3.      /etc etcetra等等的縮寫,系統管理和配置文件,相當重要的一個目錄。

4.      /home 用戶的家(主)目錄,比如用戶mg的家目錄就是/home/mg,root的家目錄為/root。

5.      /lib library縮寫,標準程序設計庫,又叫動態鏈接共享庫,作用類似Windows里的.dll文件。

6.      /sbin super bin縮寫,系統管理命令,這里存放的是系統管理員使用的管理程序。

7.      /tmp temporary縮寫,公用的臨時文件存儲點。

8.      /root 系統管理員的主目錄。

9.      /mnt mount縮寫,系統提供這個目錄是讓用戶臨時掛載其他的文件系統。

10.    /lost+found 這個目錄平時是空的,系統非正常關機而留下一些信息損壞的文件會放在這里。

11.    /proc process縮寫,虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。

12.    /var vary縮寫,存放經常變動的文件,比方說各種服務的日志文件。

13.    /usr user縮寫,要用到的應用程序和文件幾乎都在這個目錄。

對于我們而言,文件和目錄是一個有序的類樹結構是可以接受的。但是對于只認0和1的的計算機而言,樹結構,文件名,元數據,數據等都會回歸的inode(索引節點),這是一種包含著構建文件的實際數據信息的序列號:這些數據表示文件是屬于誰的,還有它在硬盤中的位置。每個inode都表示著一種在硬盤上的數據結構,保存著文件的屬性,包括文件數據的物理地址。每個存儲設備(例如硬盤)或存儲設備的分區被格式化為文件系統后,應該有兩部份,一部份是inode,另一部份是Block,Block是用來存儲數據用的。而inode呢,就是用來存儲這些數據的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權限等。inode為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令,能通過inode值最快的找到相對應的文件。

                      Linux文件系統初識

 最后,讓我們來解一下linux文件系統的發展歷史,Minix>>EXT>>EXT3>>EXT4>>XFS.雖然 EXT 文件系統是為 Linux 編寫的,但其真正起源于 Minix 操作系統和 Minix 文件系統,而 Minix 最早發布于 1987,早于 Linux 5 年。當 Linux Torvalds 在寫最初的 Linux 內核的時候,他需要一個文件系統但是他又不想自己寫一個。于是他簡單地把 Minix 文件系統 加了進去。

                        Linux文件系統初識

原生的 EXT 文件系統 (意即拓展的)是由 Rémy Card 編寫并于 1992 年與 Linux 一同發行。主要是為了克服 Minix 文件系統中的一些文件大小限制的問題。EXT2 文件系統有著和 EXT 文件系統基本相同的元數據結構。然而 EXT2 更高瞻遠矚,因為其元數據結構之間留有很多供將來使用的磁盤空間。EXT3 文件系統是應一個目標而生的,就是克服 fsck 程序需要完全恢復在文件更新操作期間發生的不正確關機而損壞的磁盤結構所需的大量時間。它對 EXT 文件系統的唯一新增功能就是 日志,它將提前記錄將對文件系統執行的更改。 EXT3 的磁盤結構的其余部分與 EXT2 中的相同。EXT4 文件系統主要提高了性能、可靠性和容量。為了提高可靠性,它新增了元數據和日志校驗和。同時為了滿足各種關鍵任務要求,文件系統新增了納秒級別的時間戳。XFS,一種高性能的日志文件系統,最早于1993年,由Silicon Graphics為他們的IRIX操作系統而開發,是IRIX 5.3版的默認文件系統。20005月,Silicon GraphicsGNU通用公共許可證發布這套系統的源代碼,之后被移植到Linux內核上。XFS特別擅長處理大文件,同時提供平滑的數據傳輸。目前CentOS 7也將XFS+LVM作為默認的文件系統。采用XFS文件系統,當意想不到的宕機發生后,首先,由于文件系統開啟了日志功能,所以磁盤上的文件不再會意外宕機而遭到破壞了。不論目前文件系統上存儲的文件與數據有多少,文件系統都可以根據所記錄的日志在很短的時間內迅速恢復磁盤文件內容。這也算是運維工程師的神器啊!

文件系統沒有好壞之分,各有優缺點,不同的操作系統可能采用不同的文件系統,適合自己的就是最好的!隨著不同文件系統的更新迭代,不同文件系統的短板被補上,用戶體驗越來越好!

菜鳥初識linux,望大佬們多多指點!

原創文章,作者:LinuxWalker,如若轉載,請注明出處:http://www.www58058.com/80732

(0)
LinuxWalkerLinuxWalker
上一篇 2017-07-15 11:10
下一篇 2017-07-15 11:25

相關推薦

  • week3

    一,列出當前系統上所有已經登錄的用戶的用戶名,注意,同一個用戶登錄多次只顯示一次即可 who | cut -d' ' -f1 | sort -u 二,取出最后登錄到當前系統的用戶相關信息 who | cut -d'&nb…

    Linux干貨 2016-11-15
  • 馬哥教育網絡班21期-第五周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符…

    Linux干貨 2016-08-08
  • Python 課堂筆記

    第二天

    Linux干貨 2018-03-21
  • 數組,字符串處理,mktemp命令,install命令,bash的環境配置文件,程序包編譯

    數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合。 數組名和索引 索引:編號從0開始,屬于數值索引 注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引,bash4.0版本之后開始支持。 bash的數組支持稀疏格式(索引不連續) 聲明數組: declare -a ARRAY_NAME(普通數組可以不加聲…

    Linux干貨 2016-08-24
  • 第十七周作業

    1、結合圖形描述LVS的工作原理; 工作方式: LVS由前端的負載均衡器(Load Balancer,LB)和后端的真實服務器(Real Server,RS)群組成。RS間可通過局域網或廣域網連接。LVS的這種結構對用戶是透明的,用戶只能看見一臺作為LB的虛擬服務器(Virtual Server),而看不到提供服務的RS群。當用戶的請求發往虛擬服務器,LB根…

    2017-05-27
欧美性久久久久