文件系統:node
文件系統是操做系統用於明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操做系統中負責管理和存儲文件信息的軟件結構稱爲文件管理系統,簡稱文件系統。安全
從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。具體地說,它負責爲用戶創建文件,存入、讀出、修改、轉儲文件,控制文件的存取,安全控制,日誌,壓縮,加密等。網絡
Linux文件系統: ext2, ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap數據結構
swap: 交換分區oracle
光盤:iso9660異步
Windows:fat32, ntfsasync
Unix: FFS(fast), UFS(unix), JFS2分佈式
網絡文件系統:NFS, CIFSide
集羣文件系統:GFS2, OCFS2(oracle)工具
分佈式文件系統:ceph, moosefs, mogilefs, glusterfs, Lustre
RAW:未經處理或者未經格式化產生的文件系統
根據其是否支持"journal"功能:
日誌型文件系統: ext3, ext4, xfs, ...
非日誌型文件系統: ext2, vfat
文件系統的組成部分:
內核中的模塊:ext4, xfs, vfat
用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
Linux的虛擬文件系統:VFS
查前支持的文件系統:cat /proc/filesystems
mkfs命令:
(1) # mkfs.FS_TYPE/dev/DEVICE
ext4
xfs
btrfs
vfat
(2) # mkfs-t FS_TYPE /dev/DEVICE
-L 'LABEL': 設定卷標
mke2fs:ext系列文件系統專用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L 'LABEL'
-j: 至關於-t ext3
mkfs.ext3 = mkfs-t ext3 = mke2fs -j = mke2fs -t ext3
-i#: 爲數據空間中每多少個字節建立一個inode;此大小不該該小於block的大小
-N #:爲數據空間建立個多少個inode
-I 一個inode記錄大小128---4096
-m #: 默認5%,爲管理人員預留空間佔總空間的百分比
-O FEATURE[,...]:啓用指定特性
-O ^FEATURE:關閉指定特性
指向設備的另外一種方法
與設備無關
blkid:塊設備屬性信息查看
blkid[OPTION]... [DEVICE]
-U UUID: 根據指定的UUID來查找對應的設備
-L LABEL:根據指定的LABEL來查找對應的設備
e2label:管理ext系列文件系統的LABEL
# e2label DEVICE [LABEL]
findfs:查找分區
findfs[options] LABEL=<label>
findfs[options] UUID=<uuid>
tune2fs:從新設定ext系列文件系統可調整參數的值
-l:查看指定文件系統超級塊信息;super block
-L 'LABEL':修改卷標
-m #:修預留給管理員的空間百分比
-j: 將ext2升級爲ext3
-O: 文件系統屬性啓用或禁用,–O ^has_journal
-o: 調整文件系統的默認掛載選項,–o ^acl
-U UUID: 修改UUID號
dumpe2fs:
-h:查看超級塊信息(分組信息),分區用分組管理
常發生於死機或者非正常關機以後
掛載爲文件系統標記爲「dirty」
fsck: File System Check
fsck.FS_TYPE
fsck-t FS_TYPE
-a: 自動修復錯誤
-r: 交互式修復錯誤
注意: FS_TYPE必定要與分區上已經文件類型相同;
e2fsck:ext系列文件專用的檢測修復工具
-y:自動回答爲yes
-f:強制修復
掛載:將額外文件系統與根文件系統某現存的目錄創建起關聯關係,進而使得此目錄作爲其它文件訪問入口的行爲
卸載:爲解除此關聯關係的過程
把設備關聯掛載點:mount Point
mount
卸載時:可以使用設備,也可使用掛載點
umount
掛載點下原有文件在掛載完成後會被臨時隱藏
掛載點目錄通常爲空
掛載方法:mount DEVICE MOUNT_POINT
mount:經過查看/etc/mtab文件顯示當前已掛載的全部設備
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要掛載的設備;
(1) 設備文件:例如/dev/sda5
(2) 卷標:-L 'LABEL', 例如-L 'MYDATA'
(3) UUID, -U 'UUID':例如-U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4) 僞文件系統名稱:proc, sysfs, devtmpfs, configfs
dir:掛載點
事先存在;建議使用空目錄
進程正在使用中的設備沒法被卸載
-t vsftype:指定要掛載的設備上的文件系統類型
-r: readonly,只讀掛載
-w: read and write, 讀寫掛載
-n: 不更新/etc/mtab,至關於#mount
-a:自動掛載全部支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
-L 'LABEL': 以卷標指定掛載設備
-U 'UUID': 以UUID指定要掛載的設備
-B, --bind: 綁定目錄到另外一個目錄上
查看內核追蹤到的已掛載的全部設備:
cat /proc/mounts
-o options:(掛載文件系統的選項),多個選項使用逗號分隔
async:異步模式
sync:同步模式,內存更改時,同時寫磁盤
atime/noatime:包含目錄和文件
diratime/nodiratime:目錄的訪問時間戳
auto/noauto:是否支持自動掛載,是否支持-a選項
exec/noexec:是否支持將文件系統上運行應用程序
dev/nodev:是否支持在此文件系統上使用設備文件
suid/nosuid:不否支持suid和sgid權限
remount:從新掛載
ro:只讀
rw:讀寫
user/nouser:是否容許普通用戶掛載此設備,默認管理員才能掛載
acl:啓用此文件系統上的acl功能
Defaults:至關於rw, suid, dev, exec, auto, nouser, async
查看掛載狀況:
#findmntMOUNT_POINT
查看正在訪問指定文件系統的進程:
#lsofMOUNT_POINT
#fuser -v MOUNT_POINT
終止全部在正訪問指定的文件系統的進程:
# fuser -km MOUNT_POINT
卸載:
# umountDEVICE
# umountMOUNT_POINT
配置文件系統體系
被mount、fsck和其它程序使用
系統重啓時保留文件系統體系
能夠在設備欄使用文件系統卷標
使用mount -a 命令掛載/etc/fstab中的全部文件系統