這三個都是文件系統格式NTFS和FAT32。node
Linux kernel自2.6.28開始正式支持新的文件系統Ext4,Ext4是Ext3的改進版,修改了Ext3中部分重要的數據結構。Ext3對Ext2,只是增長了一個日誌功能而已。Ext4能夠提供更佳的性能和可靠性,還有更爲豐富的功能,更大的文件系統和更大的文件。較之Ext3所支持的最大16TB文件系統和最大2TB文件,Ext4分別支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系統,以及16TB的文件。linux
Ext3只支持32,000個子目錄,而Ext4支持無限數量的子目錄。vim
Ext3採用間接塊映射,當操做大文件時,效率極其低下。好比一 個100MB大小的文件,在Ext3中要創建25,600個數據塊(每一個數據塊大小爲4KB)的映射表。在Ext3中,每一個物理塊都須要一個邏輯塊結構與之相對應。bash
Ext4引入了extents概念,提升效率,每一個extent爲一組連續的數據塊,理想狀況下,上述文件則表示爲只須要一個extent來記錄映射關係。網絡
當寫入數據到Ext3文件系統中時,Ext3的數據塊分配器每次只能分配一個4KB的塊,寫一個100MB文件就要調用25600次數據塊分配器,而Ext4的多塊分配器「multiblockallocator」(mballoc)支持一次調用分配多個數據塊。數據結構
Ext3的數據塊分配策略是儘快分配,而Ext4是儘量地延遲分配,直到文件在cache中寫完纔開始分配數據塊並寫入磁盤。如此能優化整個文件的數據塊分配,顯著提高性能。app
老的fsck會很慢,由於它要檢查全部的inode,Ext4給每一個組的inode表中都過它們而只去檢查那些在用的inode添加了一份未使用inode的列表,執行 fsck就能夠跳過它們而只去檢查那些在用的inode。工具
日誌是最經常使用的部分,也極易致使磁盤硬件故障,而從損壞的日誌中恢復數據會致使更多的數據損壞。性能
Ext4的日誌校驗功能能夠很方便地判斷日誌數據是否損壞,將過去兩階段日誌機制合併成一個階段,提升性能。優化
補充,兩階段提交:
(1)文件系統將準備執行的事務的具體內容寫入日誌。
(2)文件系統進行文件操做。
(3)操做成功後,將事務具體的內容從日誌中刪除。
Ext4容許關閉日誌,以便某些有特殊需求的用戶能夠藉此進一步提高性能。
Ext4支持在線碎片整理,並提供e4defrag工具進行個別文件或整個文件系統的碎片整理。
Ext4支持更大的inode,較之Ext3默認的inode大小128字節,Ext4爲了在inode中容納更多的擴展屬性(如納秒時間戳或inode版本),默認inode大小爲256字節。
P2P軟件爲了保證下載文件有足夠的空間存放,經常會預先建立 一個與所下載文件大小相同的空文件,以避免將來的數小時或數天以內磁盤空間不足致使下載失敗。Ext4在文件系統層面實現了持久預分配並提供相應的API,比應用軟件本身實現更有效率。
使用磁盤存儲內存不夠而「溢出來」的內容。 當系統的物理內存不夠用的時候,就須要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。
最容易成爲被釋放的對象:一些很長時間沒有什麼操做的程序。被保存到Swap空間中。等到那些被換出的程序要繼續運行時,再從Swap中恢復保存的數據到內存中。
通常來講能夠按照以下規則設置swap大小:
8G之內的物理內存,SWAP設置爲內存的2倍。
8G-16G之內的的物理內存,SWAP等於內存大小或者設置爲8G。
16G-256G的物理內存,SWAP設置爲實際內存的1/2便可。
實際上,並非等全部的物理內存都消耗完畢以後,纔去使用swap的空間,何時使用是由swappiness參數值控制。
[root@localhost ~]# cat /proc/sys/vm/swappiness 60 [root@localhost ~]#
默認值是60。swappiness=0的時候表示最大限度使用物理內存,而後纔是swap空間,swappiness=100的時候表示積極的使用swap分區,而且把內存上的數據及時的搬運到swap空間裏面。
使用命令:sysctl,能夠進行臨時修改swap的使用比例。
命令格式:sysctl vm.swappiness=0-100的數字
示例:
[root@localhost ~]# sysctl vm.swappiness=10 vm.swappiness = 10 [root@localhost ~]# cat /proc/sys/vm/swappiness 10
這裏咱們的修改已經生效,可是若是咱們重啓了系統,又會變成60。
在/etc/sysctl.conf 文件裏添加以下參數:vm.swappiness=10。
vim /etc/sysctl.conf ->i->修改 esc->wq。
swapon -a #開啓 swapoff -a #關閉
每一個文件系統都有獨立的inode/block/superblock等信息,這個文件系統要可以連接到目錄樹才能被咱們使用。將文件系統和目錄樹結合的動做咱們稱爲掛載。
掛載點:必定是目錄,此目錄爲文件系統的入口。
mount命令:將設備掛載到某個目錄。
命令格式:mount [-fnrsvw] [-o option[,option]...] 設備文件 掛載點
-t:指定設備的文件系統類型。
ext4 linux目前經常使用的文件系統。
nfs網絡文件系統。
iso9660 CD-ROM光盤標準文件系統。
auto自動檢測文件系統
-o:指定掛載文件系統時的選項。
ro以只讀方式掛載。
rw以讀寫方式。
將ISO鏡像文件掛載到Linux虛擬機中,準備工做:
掛載到某個目錄。
[root@localhost ~]# mount /dev/cdrom /media [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final [root@localhost ~]# ll /dev/cdrom1 lrwxrwxrwx. 1 root root 3 Feb 9 14:53 /dev/cdrom1 -> sr0 [root@localhost ~]# ls /media
CentOS_6.5_Final 掛載到某個目錄
[root@localhost ~]# mkdir /mnt/cdrom [root@localhost ~]# mount -t iso9660 /dev/cdrom1 /mnt/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sr0 4.2G 4.2G 0 100% /mnt/cdrom [root@localhost ~]# lsblk #查看塊設備 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom
[root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 29G 2.3G 27G 8% /media/7E4E-815B [root@localhost /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom sdb 8:16 1 28.9G 0 disk └─sdb1 8:17 1 28.9G 0 part /media/7E4E-815B [root@localhost /]# mkdir /mnt/udisk [root@localhost /]# mount /dev/sdb1 /mnt/udisk/ [root@localhost /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 28.9G 0 disk └─sdb1 8:17 1 28.9G 0 part /media/7E4E-815B [root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 29G 2.3G 27G 8% /media/7E4E-815B /dev/sdb1 29G 2.3G 27G 8% /mnt/udisk
若是掛載後查看U盤內容出現亂碼?
[root@localhost ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8「 [root@localhost ~]#man mount
使用」/iocharset」查找
[root@localhost ~]# mount -o iocharset=utf8 /dev/sdb1 /mnt/udisk
Ntfs須要下載ntfs-3g驅動
yum install ntfs-3g
用完要記得使用umount「彈出」,並斷開鏈接。
umount:取消掛載。
命令格式:umount 設備或是掛載點
示例:
umount /mnt/cdrom #或 umount /dev/cdrom1 #或 umount /dev/sr0
/etc/fstab文件:開機引導的時候自動掛載到linux的文件系統。
df:列出文件系統總體磁盤使用狀況。即整個硬盤的分區狀況。至關於Windows中查看磁盤分區狀況。
命令格式:df 選項參數
選項參數
-a:列出全部文件系統。
-k:以KBytes的容量顯示文件系統。
-m:以MBytes的容量顯示文件系統。
-h:GBytes、MBytes、KBytes等格式自行顯示。
-i:以inode數量顯示。
du:文件系統的磁盤使用量或是目錄使用量。即具體的目錄或者文件的大小詳情。至關與Windows中打開個人電腦進行文件查看。
命令格式:du 選項參數 目錄名稱
選項參數
-a:列出全部的文件與目錄容量。
-h:以人們較易讀的容量格式(G/M)顯示。
-s:列出總量而已,而不列出每一個各別的目錄佔用容量。
-k:以KBytes列出容量顯示。
-m:以MBytes列出容量顯示。
dumpe2fs:觀察文件系統。
命令格式:dumpe2fs [options] < device>
參數選項:
-h :僅列出superblock的數據,不會列出其餘的區段內容。
#dumpe2fs -h /dev/sda1
上一篇:Linux基礎之權限
下一篇:Linux基礎之網絡