磁盤及檔案系統管理
終端類型:
console:控制台
pty:實體終端 (VGA)
tty#:虛拟終端 (VGA)
ttyS#:串行終端
pts/#:僞終端
ln [-s -v] SRC DEST
硬連結:多個路徑的連結到同一個檔案,且顯示指向次數
1、隻能對檔案建立,不能應用于目錄;
2、不能跨檔案系統;
3、建立硬連結會增加檔案被連結的次數;
符号連結:軟連結
1、可應用于目錄;
2、可以跨檔案系統;
3、不會增加被連結檔案的連結次數;
4、其大小為指定的路徑所包含的字元個數;
連結
裝置檔案:
b: 按塊為機關,随機通路的裝置;
c:按字元為機關,線性裝置;
b: 硬碟
c: 鍵盤
/dev
主裝置号 (major number)
辨別裝置類型
次裝置号 (minor number)
辨別同一種類型中不同裝置
mknod 用于建立Linux中的字元裝置檔案和塊裝置檔案
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
-mMODE
硬碟裝置的裝置檔案名:
IDE, ATA:hd
SATA:sd
SCSI: sd
USB: sd
a,b,c,...來差別同一種類型下的不同裝置
IDE:
第一個IDE口:主、從
/dev/hda,/dev/hdb
第二個IDE口:主、從
/dev/hdc,/dev/hdd
sda, sdb, sdc, ...
hda:
hda1:第一個主分區
hda2:
hda3:
hda4:
hda5:第一個邏輯分區
hda6:第二個邏輯分區
檢視目前系統識别了幾塊硬碟:
fdisk -l [/dev/to/some_device_file]
管理磁盤分區:fdisk
英文原義:format disks/partitions
執行權限:root
fdisk /dev/sda
p: 顯示目前硬體的分區,包括沒儲存的改動
n: 建立新分區
e:擴充分區
p:主分區
d: 删除一個分區
w: 儲存退出
q: 不儲存退出
t: 修改分區類型
L:
l: 顯示所支援的所有類型
Linux支援的檔案系統: 一個分區是一個獨立的檔案系統
partprobe
檔案系統通路控制清單
setfacl
-bRemove all
-m
-x
檔案系統管理:重新建立檔案系統會損壞原有檔案
mkfs: make file system
-t FSTYPE
mkfs -t ext2 = mkfs.ext2
mkfs -t ext3 = mkfs.ext3
mke2fs: 專門管理ext系列檔案
-j: 建立ext3類型檔案系統
-b [BLOCK_SIZE]: 指定塊大小,預設為4096;可用取值為1024、2048或4096;
-L LABEL:指定分區卷标;
-m #: 指定預留給超級使用者的塊數百分比
-i #: 用于指定為多少位元組的空間建立一個inode,預設為8192;
這裡給出的數值應該為塊大小的2^n倍;
-N #: 指定inode個數;
-F: 強制建立檔案系統;
-E: 使用者指定額外檔案系統屬性;
blkid: 查詢或檢視磁盤裝置的相關屬性
UUID
TYPE
LABEL
e2label: 用于檢視或定義卷标
e2label 裝置檔案 卷标: 設定卷标
tune2fs: 調整檔案系統的相關屬性 英文:tunable ext2 filesystem
-j: 不損害原有資料,将ext2更新為ext3;
-L LABEL: 設定或修改卷标;
-m #: 調整預留百分比;
-r #: 指定預留塊數;
-o: 設定預設挂載選項;
acl
-c #:指定挂載次數達到#次之後進行自檢,0或-1表關閉此功能;
-i #: 每挂載使用多少天後進行自檢;0或-1表示關閉此功能;
-l: 顯示超級塊中的資訊;
dumpe2fs: 顯示檔案屬性資訊 英文:dump ext2 filesystem
-h: 隻顯示超級塊中的資訊
fsck: 檢查并修複Linux檔案系統 英文:filesystem check
-t FSTYPE: 指定檔案系統類型
-a: 自動修複
e2fsck: 專用于修複ext2/ext3檔案系統 英文: ext2 filesystem check
-f: 強制檢查;
-p: 自動修複;
挂載:将新的檔案系統關聯至目前根檔案系統
解除安裝:将某檔案系統與目前根檔案系統的關聯關系預以移除;
mount 裝置 挂載點
裝置: 裝置檔案:/dev/sda5
卷标:LABEL=“”
UUID: UUID=“”
挂載點:目錄
要求:
1、此目錄沒有被其它程序使用;
2、目錄得事先存在;
3、目錄中的原有的檔案将會暫時隐藏;
顯示目前系統已經挂載的裝置及挂載點
mount [options] [-o options] DEVICE MOUNT_POINT
-a: 表示挂載/etc/fstab檔案中定義的所有檔案系統
-n: 預設情況下,mount指令每挂載一個裝置,都會把挂載的裝置資訊儲存至/etc/mtab檔案;
使用—n選項意味着挂載裝置時,不把資訊寫入此檔案;
-t FSTYPE: 指定正在挂載裝置上的檔案系統的類型;
不使用此選項時,mount會調用blkid指令擷取對應檔案系統的類型;
-r: 隻讀挂載,挂載CD光牒時常用此選項
-w: 讀寫挂載
-o: 指定額外的挂載選項,也即指定檔案系統啟用的屬性;
remount: 重新挂載目前檔案系統
ro: 挂載為隻讀 -o ro = -r
rw: 讀寫挂載 -o rw = -w
acl: 額外通路權限組 -o acl
loop: 挂載光驅等回環裝置
mount -o loop /dev/cdrom /mnt/ 挂載光驅
mount -t iso9660 /dev/scd0 /mnt/ 挂載光驅
mount -o loop linux.iso /mnt/ 挂載ISO檔案
挂載完成後,要通過挂載點通路對應檔案系統上的檔案;
umount: 解除安裝某檔案系統
umount 裝置 / 挂載點
解除安裝注意事項: 挂載的裝置沒有程序使用;
eg1.建一個2G的分區,檔案系統為ext2,卷标為DATA,塊大小1024,預留管理空間為磁盤分區的8%;挂載至/backup目錄,要求使用卷标進行挂載,且在挂載時啟動此檔案系統上的acl功能;
# mke2fs -L DATA -b 1024 -m 8 /dev/sda7
# mount -o acl LABEL=DATA /backup
# tune2fs -o acl /dev/sda7
# mount LABEL=DATA /backup
eg2.将此檔案系統的超級塊中的資訊中包含了block和inode的行儲存至/tmp/partition.txt中;
# tune2fs -l /dev/sdc3 | egrep -i "block|inode" >>/tmp/partition.txt
# dumpe2fs -h /dev/sdc3| egrep -i "block|inode" >>/tmp/partition.txt
eg3.複制/etc目錄中的所有檔案至此檔案系統;而後調整此檔案系統類型為ext3,要求不能損壞已經複制過來的檔案;
# cp -r /etc/* /backup
# tune2 -j /dev/sda7
eg4.調整其預留百分比為3%;
# tune2fs -m 3 -L DATA /dev/sda7
eg5.以重新挂載的方式挂載此檔案系統為不更新通路時間戳,并驗正其效果;
# stat /backup/inittab
# cat /backup/inittab
# stat
# mount -o remount,noatime /backup
eg6.對此檔案系統強行做一次檢測;
e2fsck -f /dev/sda7
eg7.删除複制而來的所有檔案,并将此檔案系統重新挂載為同步(sync);而後再次複制/etc目錄中的所有檔案至此挂載點,體驗其性能變化;
# rm -rf /backup/*
# mount -o remount,sync /backup
# cp -r /etc/* /backup
---end---