當前位置:首頁 » 操作系統 » linux系統的文件系統

linux系統的文件系統

發布時間: 2022-09-20 00:11:03

linux文件系統的演變

說起文件系統的演變與發展,不得不從最早期的 Minix 操作系統開始說起。

Minix(MINI-UNIX) 是早期的一個迷你版本的 「類UNIX操作系統」 ,由荷蘭阿姆斯特丹自由大學計算機科學系的塔能鮑姆教授自行開發的可以與UNIX操作系統兼容的一個操作系統,因其小型,該操作系統被命名為 MINIX 。

MINIX 系統在設計之初,採用程序模塊化的思想,將一眾程序放在用戶空間運行,而不是在操作系統的內核中運行。如 「文件系統」存儲器管理」 等程序均是如此。

受 MINIX 操作系統的影響,早期的Linux操作系統也曾採用由塔能鮑姆教授開發的MINIX的文件系統。

然而,不只因為早期的 MINIX 操作系統並為真正意義上的開源軟體(在保護著作的前提下進行收費),而且基於 MINIX 的內部使用16位的偏移量,使文件系統能夠支持的最大空間只有64MB,支持的最大文件名為14字元,導致後來 Linux 操作系統轉而開發出了 ext(Extended File System) 第一代可擴展文件系統。

ext(Extended File System) 為Linux系統最早的擴展文件系統,採用 「UNIX文件系統」 的元數據結構,克服了 「MINIX」 操作系統性能不佳的問題。

ext 文件系統採用 虛擬文件系統(VFS) ,最大可支持2GB的文件系統。與 MINIX 文件系統不同的是, ext 可以使用最高2GB的存儲空間並同時處理255個字元的文件名。

但,在 ext 文件系統中,文件創建時生成的 inode 信息是不變的,這導致文件發生修改後 inode 中儲存的文件時間戳並不會發生變化;而且 ext 並不會為文件妥善分配空間,磁碟上的多個文件四散分布,嚴重製約了文件系統的性能。

ext 文件系統推出後不久,其開發者便意識到 ext 文件系統中存在很大缺陷( inode不變性 和 文件空間碎片化 ),並在一年後推出了 ext2 (Second Extened File System) 第二代擴展文件系統,用來代替 ext 文件系統。

ext2 吸取了 「UNIX文件系統」 的眾多優點,並且因其良好的可擴展性( 為系統在磁碟上存儲的數據結構預留了很多空間提供給開發者使用 ),在20世紀90年代眾多文件系統中脫穎而出。

眾多新的特性, POSIX(可移植操作系統介面) 、 訪問控製表 等都是在這一代擴展文件系統上實現的。直至今天, POSIX 仍被眾多操作系統所沿用。

不僅如此, ext2 還在 ext 的基礎上進行了完善,能夠最大支持的單個文件達到 2TB。

ext2 文件系統與20世紀90年代的眾多文件系統一樣,將數據寫入到磁碟的過程中如果發生系統奔潰或斷電,極容易導致文件損壞或丟失。

正是因為類似 ext2 等同時期的一眾文件系統,在遭遇系統奔潰或斷電時會出現文件損壞或丟失。盡管 ext2 文件系統擁有開機後對文件系統中文件的一致性校驗,但校驗的過程極為耗時,且校驗的過程中,操作系統上的任何卷組都是不可訪問的。

然而 ext2 遺留的問題在 ext3(Third Extended File System) 中得到了解決。

ext3 文件系統採用日誌記錄的方式,記錄下了操作系統運行中的所有事件,這意味著即便遇到操作系統非正常關機後也無須對文件系統進行校驗,從而防止了文件系統中數據丟失的可能。

盡管 ext3 使用日誌系統進行記錄文件系統的變化,但這並沒有影響 ext3 文件系統處理數據的速度。基於日誌系統在磁碟上的優化,在 ext3 中數據的傳輸效率是高於 ext2 的,並且可以通過重新設置日誌的級別來提升文件系統的性能。

其次, ext3 在設計之初就吸收了 ext2 的很多思想,這使得 ext2 文件系統遷移到 ext3 變得極為便利。事實上, ext3 可以在從 ext2 遷移 ext3 的過程中,無須進行文件系統資料的備份,且無須擔心升級後的數據恢復問題。

也正是因為 ext3 設計之初沿用了眾多 ext2 的功能,這使得 ext3 缺乏變通。例如, 「inode的動態分配」 「可變塊大小」 等問題並沒有得到解決。不僅如此, ext3 文件系統在被掛載為寫入時,無法對文件系統進行完整性校驗。

第四代擴展文件系統( Fourth Extended File System, ext4 ) 是繼 ext3 文件系統的後續版本,不僅支持 ext3 的日誌文件體系 ,同樣支持 大文件系統 ,不僅提高了文件系統對於存儲碎片化的抵抗,而且改進了 inode固一化 的問題。

同時, ext4 文件系統在開發之初就考慮到很多問題,對眾多問題的優化和改進也使得 ext4 擁有了眾多新的特性。例如, 大文件系統 、 使用Extent文件存儲的方式 、 預分配空間 、 延遲文件獲取空間的時間 、 突破原有子目錄限制 、 增加日誌校驗和 、 在線整理磁碟 、 文件系統快速檢查 、 向下兼容其他ext文件系統`。

時至今天, ext4 文件系統已經成為Linux發行版默認使用的文件系統。

與 ext2 文件系統同一時期出現的,還有 xfs 文件系統。 xfs 文件系統是高性能的文件系統,最早在 IRIX 操作系統上開發,後期被移植到 Linux 操作系統上。現在所有的 Linux發行版 都支持 xfs 的使用。

相比 32位 Linux 的操作系統來說,64位 xfs 的文件系統能夠支持的單個文件系統要遠遠超出 32位 操作系統。

xfs 對文件系統元數據提供了日誌支持,當文件系統發生變化後,總是會保證源數據在數據塊寫入磁碟之前被寫入日誌中,磁碟中有一處緩沖區專門用來存放日誌,從而不會影響正常的文件系統。

xfs 同樣支持 「條帶化分配」 。在條帶化RAID陣列上創建 xfs 文件系統時,可以指定 條帶化數據單元。通過配置條帶化單元,使 數據分配、inode分配、日誌等與RAID條帶單元對齊,來提高文件系統的性能。

與 ext4 文件系統不同的是, xfs 文件系統還支持在線恢復。 xfs 文件系統提供了 xfsmp 和 xfsrestore 工具協助備份 xfs 文件系統中的數據。

以下為各文件系統的出現時間及特性:

參考自: https://zh.wikipedia.org/wiki/Ext4

❷ linux 的文件系統是什麼

Linux採用虛擬機文件系統,可以支持很多文件系統格式。但是,因為要安裝系統必須得有實際的文件系統,所以Linux就採用了ext文件系統作為它的默認文件系統,它可以支持眾多的文件系統,如:JFS,XFS,ReiserFS,NTFS,FAT等,幾乎目前所有的文件系統Linux都能支持。

❸ Linux裡面文件系統有哪些

Linux系統是現在非常受歡迎的操作系統,在Linux之中,一切都是文件,因為有很多操作都是依靠文件系統才可以完成的,而且文件系統可以滿足用戶正常的使用,那麼Linux中常見的文件系統有哪些?為大家介紹一下。
總體來說,在Linux之中,系統能夠支持的文件系統要比Windows系統多很多,達到數十種,所以說Linux系統也是非常出色的操作系統。Linux中常見的文件系統介紹:
1、Ext3:是一款日誌文件系統,能夠在系統異常的情況下避免文件系統資料丟失,並且能夠修復數據的不一致以及錯誤,同時,當硬碟容量較大的時候,所需要的修復時間也會增長,無法保證百分之百資料不會丟失,將整體磁碟的每個寫入動作細節預先記錄,避免發生異常的時候可追蹤到被中斷的部分,嘗試修補。
2、Ext4:是上一個的改進版本,是RHEL
6系統中的默認文件管理系統,支持存儲容量達到了1EB,同時還能夠無限多的子目錄,另外文件系統能夠批量分配block塊,從而極大地提高了讀寫效率。
3、XFS:是一個高性能的日誌文件系統,而且是RHEL
7中默認的文件管理系統,優勢就是在於發生意外可以快速回復可能被破壞的文件,強大的日誌功能只需要花費較低的計算和存儲性能,最大支持存儲容量18EB,幾乎滿足多種需求。

❹ Linux文件系統的特點

類似於 Windows下的C、D、E等各個盤,Linux系統也可以將磁碟、Flash等存儲設備劃分為若干個分區,在不同分區存放不同類別的文件。與Windows的C盤類似,Linux一樣要在一個分區上存放系統啟動所必需的文件,比如內核映象文件(在嵌入式系統中,內核一般單獨存放在一個分區中)內核啟動後運行的第一-個程序( init)給用戶提供操作界面的 shell程序、應用程序所依賴的庫等。這些必需、基本的文件合稱為根文件系統,它們存放在一個分區中。Linux 系統啟動後首先掛接這個分區,稱為掛接( mount)根文件系統。其他分區上所有目錄、文件的集合,也稱為文件系統。Linux 中並沒有C、D、E等盤符的概念,它以樹狀結構管理所有目錄、文件,其他分區掛接在某個目錄上,這個目錄被稱為掛接點或安裝點(mount point),然後就可以通過這個目錄來訪問這個分區上的文件了。比如根文件系統被掛接在根目錄「I」上後,在根目錄下就有根文件系統的各個目錄、文件:/bin、/sbin、/mnt等;再將其他分區掛接到/mnt目錄上,/mnt目錄下就有這個分區.的各個目錄、文件。在一個分區上存儲文件時,需要遵循一定的格式,這種格式稱為文件系統類型,比如fat16、fat32、ntfs、ext2、ext3、jffs2、yaffs 等。除這些擁有實實在在的存儲分區的文件系統類型外,Linux還有幾種虛擬的文件系統類型,比如proc、sysfs 等,它們的文件並不存儲在實際的設備上,而是在訪問它們時由內核臨時生成。比如 proc文件系統下的uptime文件,讀取它時可以得到兩個時間值(用來表示系統啟動後運行的秒數、空閑的秒數),每次讀取時都由內核即刻生成,每次讀取結果都不一樣。「文件系統類型」常被簡稱為「文件系統」,比如「硬碟第二個分區上的文件系統是EXT2」指的就是文件系統類型。所以「文件系統」這個術語,有時候指的是分區上的文件集合,有時候指的是文件系統類型,需要根據語境分辨,在閱讀各類文獻時需要注意這點。

❺ linux文件系統類型

Linux系統核心支持十多種文件系統類型:jfs,ReiserFS,ext,ext2,ext3,iso9660,xfs,minx,msdos,umsdos,Vfat,NTFS,Hpfs,Nfs,smb,sysv,proc等.Linux最早引入的文件系統類型是MINIX。
MINIX文件系統由MINIX操作系統定義,有一定的局限性,如文件名最長14個字元,文件最長64M位元組。第一個專門為Linux設計的文件系統是EXT(ExtendedFileSystem),但目前流行最廣的是EXT4。

❻ Linux的文件系統

Linux的文件類型分為普通文件、d目錄文件、b塊設備文件、c字元設備文件(串口設備)、s套接字文件(特殊文件scoket)、l鏈接文件。
例如下圖,d開頭的是目錄文件,-開頭的是普通文件,l開頭的是鏈接文件

以touch,cp,tar,echo,cat等工具命令創建的文件都是普通文件,普通文件又分為以下三種:
1)純文本文件:文件內容可以直接讀取到數據(ASCL text)
2)二進制文件:linux中可執行文件(命令)
3)數據格式文件(一種特殊的文件 data)

ls -ld可以顯示所有的目錄文件

linux系統中的鏈接文件與WIN系統的快捷方式基本差不多,linux中鏈接文件又分為硬鏈接與軟鏈接。
硬鏈接: 是指通過索引節點來進行鏈接,在系統中多個文件各指向同一個索引節點,是可以的正常允許的,這種情況下的文件被稱之為硬鏈接。實際生產環境中用戶可以通過硬鏈接的方式來防止誤刪重要數據。
ln 源文件名 鏈接文件名 創建硬鏈接文件

軟鏈接: 也稱符號鏈接(快捷方式),實際上它是一個文本文件,它存儲著指向源文件鏈接的位置信息。
ln -s 源文件名 鏈接文件名 創建軟鏈接文件

另外要注意目錄是不可以創建硬鏈接文件的,但可創建軟鏈接文件,如下圖:

關於文件的軟鏈接和硬鏈接,總結起來有以下四種情況:
1)刪除源文件時,硬鏈接文件正常使用,軟鏈接文件就失效了。
2)刪除硬鏈接時,對源文件與軟鏈接無影響。
3)刪除軟鏈接時,對源文件與硬鏈接無任何影響。
4)刪除源文件、硬鏈接文件後,整個文件就會被刪除。

對於目錄的軟鏈接和硬鏈接,總結如下:
1)目錄是不可創建硬鏈接文件,可以創建軟鏈接文件。
2)目錄的軟鏈接是生產環境中非常實用的。
3)所有目錄都有一個硬鏈接「.」,目錄硬鏈接是不可跨越文件系統的。

Linux文件的擴展名主要是為了方便區分不同的文件,和windows的強類型擴展名不一樣。
1、.tar .tar.gz .tgz .zip 這類表示壓縮文件
2、.sh 表示shell腳本文件
3、.html .php .jsp 網頁文件
4、.conf 系統服務的配置文件
5、.rpm 表示RPM安裝包文件

每一個文件都有自己的屬性信息,它的屬性信息包括:索引節點、文件類型、許可權信息、所有者、所屬組、最近修改時間、大小、文件名或目錄名、硬鏈接數量。
我們以下圖的cron.daily這個文件為例,d表示文件類型是目錄文件,rwxr-xr-x這個表示許可權,第一個rwx表示的文件所有者用戶的許可權,第二個r-x表示的是所屬組的許可權,第三個r-x表示的是其他用戶的許可權。2表示硬鏈接數量,第一個root表示文件所有者是root,第二個root表示所屬組,42表示文件大小,May 27 2021表示最後的修改時間,corn.daily是文件名稱。

其中的索引節點編號需要通過ls -i才能看到,在最左邊顯示的那一串數字,如下圖所示:

❼ Linux文件系統特點

Linux之所以能在嵌人式系統領域取得如此輝煌的成績,與其自身的優良特性是分不開的。與其他操作系統相比,Linux具有以下一系列顯著的特點。

1.模塊化程度高

Linux的內核設計非常精巧,分成進程調度、內存管理、進程間通信、虛擬文件系統和網路介面五大部分;其獨特的模塊機制可根據用戶的需要,實時地將某些模塊插入或從內核中移走,使得Linux系統內核可以裁剪得非常小巧,很適合於嵌入式系統的需要。

2.源碼公開

由於Linux系統的開發從一開始就與GNU項目緊密地結合起來,所以它的大多數組成部分都直接來自GNU項目。任何人、任何組織只要遵守GPL條款,就可以自由使用Linux 源代碼,為用戶提供了最大限度的自由度。這一點也正投嵌入式系統所好,因為嵌入式系統應用千差萬別,設計者往往需要針對具體的應用對源碼進行修改和優化,所以是否能獲得源代碼 對於嵌入式系統的開發是至關重要的。加之Linux的軟體資源十分豐富,每種通用程序在Linux上幾乎都可以找到,並且數量還在不斷增加。這一切就使設計者在其基礎之上進行二次開發變得非常容易。另外,由於Linux源代碼公開,也使用戶不用擔心有「後閘」等安全隱患。

同時,源碼開放給各教育機構提供極大的方便,從而也促進了Linux的學習、推廣和應用。

3.廣泛的硬體支持

Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多種體系結構的微處理器。目前已成功地移植到數十種硬體平台,幾乎能運行在所有流行的處理器上。

由於世界范圍內有眾多開發者在為Linux的擴充貢獻力量,所以Linux有著異常豐富的驅動程序資源,支持各種主流硬體設各和最新的硬體技術,甚至可在沒有存儲管理單元MMU 的處理器上運行,這些都進一步促進了Linux在嵌入式系統中的應用。

4.安全性及可靠性好

內核高效穩定。Linux內核的高效和穩定已在各個領域內得到了大量事實的驗證。

Linux中大量網路管理、網路服務等方面的功能,可使用戶很方便地建立高效穩定的防火牆、路由器、工作站、伺服器等。為提高安全性,它還提供了大量的網路管理軟體、網路分析軟體和網路安全軟體等。

5.具有優秀的開發工具

開發嵌入式系統的關鍵是需要有一套完善的開發和調試工具。傳統的嵌入式開發調試工具是在線模擬器(In Circuit Emulator,ICE),它通過取代目標板的微處理器,給目標程序提供一個完整的模擬環境,從而使開發者能非常清楚地了解到程序在目標板上的工作狀態,便於監視和調試程序。在線模擬器的價格非常高,而且只適合做非常底層的調試。如果使用的是嵌人式Linux,一旦軟硬體能支持正常的串口功能,即使不用在線模擬器,也可以很好地進行開發和調試工作,從而節省了一筆不小的開發費用。嵌入式Linux為開發者提供了一套完整的工具鏈(Tool Chain),能夠很方便地實現從操作系統到應用軟體各個級別的調試。

6.有很好的網路支持利文件系統支持

Linux從誕生之日起就與Internet密不可分,支持各種標準的Internet網路協議,並且很容易移植到嵌入式系統當中。目前,Linux幾乎支持所有主流的網路硬體、網路協議和文件系統,因此它是NFS的一個很好的平台。

另一方面,由於Linux有很好的文件系統支持(例如,它支持Ext2、FAT32、romfs等文件系統),是數據各份、同步和復制的良好平台,這些都為開發嵌入式系統應用打下了堅實的基礎。

7.與UNIX完全兼容

目前,在Linux中所包含的工具和實用程序,可以完成UNIX的所有主要功能。

但由於Linux不是為實時而設計的,因而這就成了Linux在實時系統中應用的最大遺憾。不過,目前有眾多的自由軟體愛好者正在為此進行不懈的努力,也取得了諸多成果

❽ linux支持哪些文件系統

Ext、Ext4、ReiserFS文件系統。

1、Ext

Ext是 GNU/Linux 系統中標準的文件系統,其特點為存取文件的性能極好,對於中小型的文件更顯示出優勢,這主要得利於其簇快取層的優良設計。

其單一文件大小與文件系統本身的容量上限與文件系統本身的簇大小有關,在一般常見的 x86電腦系統中,簇最大為 4KB,則單一文件大小上限為 2048GB,而文件系統的容量上限為 16384GB。

2、Ext4

Linux kernel 自 2.6.28 開始正式支持新的文件系統 Ext4。Ext4 是 Ext3 的改進版,修改了 Ext3 中部分重要的數據結構,而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個日誌功能而已。

3、ReiserFS

是一種文件系統格式,作者是Hans Reiser及其團隊Namesys,1997年7月23日他將ReiserFS文件系統在互聯網上公布。Linux內核從2.4.1版本開始支持ReiserFS。

(8)linux系統的文件系統擴展閱讀

文件系統的安全:

在Linux系統中,如果黑客取得超級許可權,那麼他在操作系統裡面就不會再有任何的限制地做任何事情。在這種情況下,一個加固的文件系統將會是保護系統安全的最後一道防線。管理員可通過chattr命令鎖定系統一些重要文件或目錄。

文件許可權檢查與修改。如果操作系統當中的重要文件的許可權設置不合理,則會對操作系統的安全性,產生最為直接的影響。所以,系統的運行維護人員需要及時的察覺到許可權配置不合理的文件和目錄,並及時修正,以防安全事件發生。

安全設定/tmp、/var/tmp、/dev/shm。在該操作系統當中,其用於存放臨時文件的目錄,主要有兩個,分別為/tmp與/var/tmp。它們有個共同特點,就是所有的用戶可讀可寫和執行,這樣就對系統產生了安全隱患。針對這兩個目錄進行設置,不允許這兩個目錄下執行應用程序。

❾ linux支持的文件系統有哪些

比如Btrfs、JFS、ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。

Linux操作系統使用虛擬文件系統(VFS)向上和用戶進程文件訪問系統調用介面,向下和具體不同文件系統的實現介面。VFS屏蔽了具體文件的實現細節,向上提供統一的操作介面。通過VFS可以實現任意的文件系統,這些文件系統通過文件訪問系統調用都可以訪問。所以Linux系統核心可以支持十多種文件系統類型。

(9)linux系統的文件系統擴展閱讀:

EXT是延伸文件系統(英語:Extended file system,縮寫為 ext或 ext1),也譯為擴展文件系統,一種文件系統,於1992年4月發表,是為linux核心所做的第一個文件系統。採用Unix文件系統(UFS)的元數據結構,以克服MINIX文件系統性能不佳的問題。它是在linux上,第一個利用虛擬文件系統實現出的文件系統,在linux核心0.96c版中首次加入支持,最大可支持2GB的文件系統

EXT3是第三代擴展文件系統(英語:Third extended filesystem,縮寫為ext3),是一個日誌文件系統,常用於Linux操作系統。它是很多Linux發行版的默認文件系統。Stephen Tweedie在1999年2月的內核郵件列表中,最早顯示了他使用擴展的ext2,該文件系統從2.4.15版本的內核開始,合並到內核主線中。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:742
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372