一、linux主要的文件系統類型
①ext(2/3/4) xfs ffs ufs jfs vfat ntfs
②交換文件系統swap
③網絡文件系統nfs smbfs
④分佈式文件系統ceph
⑤光盤文件系統 isso9660
linux最傳統的文件系統是使用的EXT,所以要了解linux的文件系統,首先從ext開始。ext有ext2、ext3、ext4等ext2不支持日誌功能。
二、創建分區
查看分區
fdisk -l [DEVICE]..
創建分區
fdisk [DEVICE]
交互式界面的命令
p 顯示磁盤分區表
n new 新建分區
d delete 刪除分區
t 修改分區系統的id
L 列出系統已經有的id
w 保存退出
q 不保存退出
腳本中怎麼進行交互式?以下爲創建一個20G的邏輯分區
echo '
n
+20G
w'|fdisk /dev/sda
對於已經有分區在使用的磁盤來說,新建的分區需要內核重新讀取其分區
centos6 kpart -af [DEVICE]
part -a [DEVICE]
三、創建文件系統(格式化)
mkfs -t FSTYPE [DEVICE]
例:mkfs -t ext3 sda3=mkfs.ext3 sda3
將磁盤sda3格式化成ext3文件系統。
不過一般對於ext系統文件系統我們通過mke2fs的命令,其功能將更強大
mke2fs
-t {ext2|ext3|ext4}:指定文件系統
-b {1024|2048|4096}:指定塊大小
-L LABEL: 打標 mke2fs -L LABEL=e2label DEVICE LABEL
-j: 相當於 -t ext3
-i #: 每多少字節給創建一個inode,此字節數不應該少小塊大小
-N #: 直接指定可用的inode數;
-m #: 指定預留空間佔整個分區空間的百分比;默認爲5;
-O:指定分區特性
blkid: 查看指定塊設備的信息
e2label:查看或設定卷標
e2label DEVICE [LABEL]
查看超級塊信息:
# tune2fs -l DEVICE
# dumpe2fs -h DEVICE
修改分區屬性:tune2fs
塊大小無法調整;
-j: ext2 --> ext3
-L LABEL:修改卷標
-m #: 修改預留空間百分比;
-O [^]FEATURE: 啓用指定特性,特性前加^,表示關閉此種特性
-o [^]mount-options: 開啓或關閉指定的掛載選項
因進程意外中止或系統崩潰等情況導入寫入操作非正常中止時,可能會導致文件損壞;此時,應該修復文件系統:
注意:離線修復
fsck
-t fstype
-a: 自動修復錯誤
-r: 交互式修復錯誤
e2fsck: 專用於修改ext系列文件系統
-y: 對問題自動回答爲yes
-f: 強制進行檢測
四、掛載
默認只有管理員纔有權限
將額外的分區與根文件系統上的某目錄建立關聯關係的過程;
目錄中的原有文件會被隱藏
掛載點:另一個文件系統的訪問入口
掛載: mount DEVICE MOUNT_POINT
固定掛載點:/mnt, /media
mount [option]... [-t fstype] [-o option] 設備 掛載點
掛載點:
1、事先存在;
2、使用空閒目錄;
常用的掛載選項:
-t fstype:指定文件系統類型
-r: readonly, 只讀掛載
-w: read and write, 讀寫掛載
-L LABEL:以卷標方式指定設備, mount -L MYDATA 掛載點
-U UUID: 以UUID的方式指定設備,mount UUID='uuid' 掛載點, mount -U uuid 掛載點
-a: 自動掛載所有(/etc/fstab文件中定義的)的支持自動掛載設備
-n: 掛載時,不更新/etc/mtab文件
-o option:
async:異步I/O,數據寫操作先於內存完成,而後再根據某種策略同步至持久設備中
sync: 同步I/O,
atime/noatime: 文件和目錄被訪問時是更新最近一次的訪問時間戳
auto/noauto:設備是否支持mount的-a選項自動掛載
diratime/nodiratime: 目錄被訪問時是更新最近一次的訪問時間戳
dev/nodev: 是否支持在此設備上使用設備;
exec/noexec: 是否允許執行此設備上的二進制程序文件
suid/nosuid: 是否支持在此設備的文件上使用suid
remount: 重新掛載,通常用於不卸載的情況下重新指定掛載選項
ro: 只讀
rw: 讀寫
user/nouser: 是否允許普通掛載此文件設備
acl: 在此設備是支持使用facl,默認不支持;
例如:以指定掛載後支持acl爲例:
方法1:
mount -o acl DEVICE MOUNT_POINT
方法2:
tune2fs -o acl DEVICE
爲設備設定默認掛載選項
mount DEVICE MOUNT_POINT
查看所有已經掛載的設備:
# mount
# cat /proc/mounts
# cat /etc/mtab
卸載:掛載點沒有被進程訪問時方可以卸載 ;
卸載:umount DEVICE
umount MOUNT_POINT
查看哪些進程正在訪問掛載的設備:
fuser -v 掛載點
中止正在此掛載點的進程:
fuser -km 掛載點
df: disk free
-h: human-readable
-i: 顯示inode的使用信息而非默認的磁盤空間使用信息
du: disk usage 每個大小
-s: 總大小(summary)
-h: 顯示可識別的單位
五、swap分區
mkswap
free: 查看內存及交換分區的使用信息
啓用某交換分區設備
swapon [DEVICE]
-a: all, 啓用所有交換分區
-p #: 指定此交換設備的優先級
禁用某交換分區設備
swapoff [DEVICE]
-a: 禁用所有
自動掛載的設備的配置文件:/etc/fstab
6字段:
掛載的設備:
設備文件
LABEL
UUID
掛載點:
文件系統類型
掛載選項:
掛載選項可以有多個,彼此間使用逗號分隔;
轉儲頻率:
0:從不轉儲
1: 每天轉儲
2: 每隔一天
自檢次序:
0:不自檢,額外創建的文件系統都無須自動自檢
1:首先自檢,通常只有根文件系統需要首先自檢
2:次級自檢,不同的設備可以使用同一個自檢次序
3
...