什麼是文件系統?
文件系統就是對一個存儲設備上的數據進行組織的機制,它使得對數據的訪問和查找變得容易,文件系統使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設備使用的數據塊的概念,用戶使用文件系統來保存數據不必關心數據實際保存在磁盤的哪個數據塊上,只需要記住該文件所屬目錄和文件名,在寫入數據之前用戶不必關心硬盤上哪個塊沒有被使用,硬盤上的存儲空間管理功能由文件系統自動完成,用戶只需要記住數據被寫入到了哪個文件中。
常見文件系統類型有:磁盤文件系統 FAT,FAT32,exFAT,NTFS,HFS,ext2,ext3,ext4 ,bfrfs;光盤iso9660,UDF; 閃存文件系統JFFS2,YAFFS; 數據庫文件系統 BFS,WinFS; 網絡文件系統 NFS.
在文件系統方面,Linux可以說是操作系統中的“瑞士軍刀”,Linux支持多種文件系統,如:Btrfs、JFS、ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等
對磁盤進行分區,格式化就是創建文件系統,本文以虛擬機演示如何創建文件系統
首先給虛擬機先添加一塊硬盤
點next選擇添加虛擬機磁盤
點擊next選擇scsi,點next輸入需要添加硬盤大小
點擊next ,完成虛擬機硬盤添加
添加完成後啓動虛擬機,ls /dev就會看到目錄下添加了一個sdb的文件,使用fdisk –l /dev/sdb既可以查看這塊硬盤的詳細信息。
接下來,我們就要對這塊硬盤進行分區。Linux中常用的磁盤分區命令有fdisk,sfdisk,part
對於一塊硬盤而言,可以將其劃分爲幾個不同的分區,分區的大小可以根據需要,不同的分區可以擁有不同的文件系統。分區信息存儲在磁盤的分區表中,分區表中列出每個分區起始柱面和結束柱面的相關信息。如下圖,顯示了/dev/sda上的分區信息。
Fdisk是一個交互式的命令,輸入fdisk [DEVICE],輸入m跳出幫助信息,幾個常用的選項:
d:刪除一個分區
n:創建一個分區
p:顯示當前分區信息
l:顯示各分區類型所對應的id,如上圖id
t :修改指定分區的system id
q:不保存退出
w:保存退出
下面使用fdisk創建一個新分區,下圖演示的是創建一個5G的分區,也可以通過輸入結束柱面的信息來創建分區,這裏默認是創建id爲83的分區,也可以通過t選項更改爲其他的類型
接下來就要格式化分區,創建文件系統
Linux中常見的格式化分區的命令有mkfs,mke2fs,也可以使用ls /sbin/mk*查看文件系統創建命令
mkfs -t fstype /dev/part 如果不指定-t則創建爲默認文件系統類型,可以使用man mkfs查看
mke2fs可以創建ext2/ext3/ext4格式的文件系統,常用的選項有:
-t:指定文件系統類型(ext2/ext3/ext4)
-b:指定塊大小
-L label:設定卷標
-m #:設定預留給管理適用的塊所佔據總體空間的比例
-r #:設定預留給管理適用的塊的個數
-E:設定文件系統的擴展屬性
下面就將前面的分區進行格式化爲ext3類型的文件系統
對於 ext2、ext3 和 ext4 系統,一個有用的選項是帶有一個名稱的 -L
選項,該選項爲分區指定了一個標籤。這個標籤可用於在掛載文件系統時代替設備名稱;它針對可能需要在各種控制文件中反映的更改提供某種級別的隔離。要爲現有 ext2、ext3 或 ext4 文件系統顯示或設置標籤,請使用 e2label
命令。標籤的最大大小限制爲 16 個字符
分區格式化後,如果想查看分區的屬性,可以使用tune2fs 命令,如果想更改分區屬性,也可以使用該命令
常用選項:
-l:顯示文件系統超級塊信息
-L label:重新設定卷標
-m #:調整預留給管理使用的塊所佔據總體空間的比例
-r #:調整預留給管理使用的塊的個數
-E:調整文件系統擴展屬性
文件系統格式化後要使用需要先掛載,使用mount 命令,mount可以通過設備,卷標及UUID三種方式將分區掛載致掛載點。掛載完成後如果不想掛載可以使用umount取消掛載,下面是使用設備掛載
這裏需要提醒:
掛載之後,原有數據的會被隱藏,因此不能掛載到系統常用目錄上;
卸載之時,要確保沒有進程正在訪問掛載的設備;否則,無法卸載;這樣掛載後如果系統重新啓動,則重啓後不能再自動掛載,如果想讓其自動掛載則需要將其寫入/etc/fstab