近些天,每天晚上都學一下Linux,主要是因為興趣。現在主要對Linux學習內容做一些總結吧。
Linux 文件系統
首先什麼是文件系統?
計算機的文件系統是一種存儲和組織計算機文件和數據的方法,它使得對其訪問和查找變得容易。文件系統通常使用硬盤和光盤這樣的存儲設備,並維護文件在設備中的物理位置。但是,實際上文件系統也可能僅僅是一種訪問數據的界面而已,實際的數據是通過網絡協議(如NFS、SMB、9P等)提供的或者內存上,甚至可能根本沒有對應的文件(如proc文件系統)。
嚴格地說, 文件系統是一套實現了數據的存儲、分級組織、訪問和獲取等操作的抽象數據類型(Abstract data type)。
Windows文件系統主要是 fat16 , fat32 和ntfs , windows 95 、windows98 文件系統主要是fat16 和 fat32 , windows NT操作系統文件系統則轉到NTFS。
注意:除非 NT 安裝了 FAT32 For Windows NT 4.0 否則 NT 是不支持 FAT32。
Linux文件系統是什麼呢?
隨著技術的發展,Linux支持的文件系統越來越多,基本上有Btrfs、JFS、 ReiserFS、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、VFAT、NTFS、NFS、SMB等。
其中常用的還是 ext2(現在基本上棄而不用)、ext3、ext4、ReiserFS和NFS。
ext2到ext3升級增加的功能主要是增加日志功能,便於系統在惡劣環境下對意外的恢復;而ext3也少了刪除恢復功能。這個功能對普通用戶來說還是比較有用的,因為某種原因的誤刪,以後想恢復原文件也不是沒有可能的。但是對於某些保密文件,希望刪除後不能恢復,或者恢復起來更困難,我想ext3更適合。
對ext3的升級到ext4,用幾個命令就可以完成,不需要重新格式化硬盤,帶來的便利當然不言而喻了。至於ext4與ext3的區別,主要記住ext4具有現代文件系統的許多特點,各項性能較ext3有很大的提升。具體的區別可以查看Ext4,Ext3的特點和區別。
ReiserFS是一種性能非常好的文件系統,作者是Hans Reiser及其團隊Namesys,1997年7月23日他將ReiserFS文件系統在互聯網上公布。Linux內核從2.4.1版本開始支持ReiserFS。ReiserFS首先被 SUSE采用為默認的文件系統,不過後來又改用ext3了。原因可能跟hans同學謀殺妻子事件有關吧,即使這個被SUSE否認了。
ReiserFS技術上采用的是B-tree細節處理的,特別在處理小於4KB小文件,效率很高,比ext3要高10~15倍,在自動修復上也較ext2、ext3更優異,但是它也有其自身的缺點,很明顯的一點就是每升級一個版本,ReiserFS都要求格式化硬盤,在某些大型服務器上,這顯然是不現實的。
下面給一個各個文件系統綜合比較的表格:
[a] 通過在 /etc/fstab 中添加data=journal的選項,日志記錄不僅記錄了元數據,還記錄了數據。這將有得到更好的崩潰恢復結果。