一、linux主要的檔案系統類型
①ext(2/3/4) xfs ffs ufs jfs vfat ntfs
②交換檔案系統swap
③網絡檔案系統nfs smbfs
④分布式檔案系統ceph
⑤CD光牒檔案系統 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
...