第一節 回顧分區和文件系統
1.分區類型
主分區:總共最多只能分四個
擴展分區:只能有一個,也算主分區的一種,也就是說主分區加擴展分區最多有四個但是擴展分區不能存儲數據和格式化,必須再劃分成邏輯分區才能使用
邏輯分區:邏輯分區是在擴展分區中劃分的,如果是IDE硬盤,Linux最多支持59個邏輯分區,如果是SCSI硬盤,Linux最多支持11個邏輯分區
2.分區表示方法
主分區1? ? ? /dev/sda1
主分區2? ? ? /dev/sda2
主分區3? ? ? /dev/sda3
擴展分區? ? ? /dev/sda4
邏輯分區1? ? /dev/sda5
邏輯分區2? ? /dev/sda6
邏輯分區3? ? /dev/sda7
主分區1? ? ? /dev/sda1
擴展分區? ? ? /dev/sda2
邏輯分區1? ? /dev/sda5
邏輯分區2? ? /dev/sda6
邏輯分區3? ? /dev/sda7
注意:邏輯分區對應的設備文件名從sda5開始。
3.文件系統
ext2:是ext文件系統的升級版本,Red Hat Linux7.2版本以前的系統默認都是ext2文件系統。1993年發布,最大支持16TB的分區和最大2TB的文件(1TB=1024GB=1024*1024MB)
ext3:ext3文件系統是ext2文件系統的升級版本,最大的區別就是帶日志功能,以在系統突然停止時提高文件系統的可靠性。支持最大16TB的分區和最大2TB的文件
ext4:它是ext3的文件系統的升級版。ext4在性能,伸縮性和可靠性方面進行了大量改進。ext4的變化可以說是翻天覆地,比如向下兼容ext3,最大1EB文件系統和16TB文件,無限數量子目錄,Extents連續數據塊概念,多塊分配,延遲分配,持久預分配,快速FSCK,日志校驗,無日志模式,在線碎片整理,inode增強,默認啟用barrier等。是CentOS6.3的默認文件系統(1EB=1024PB=1024*1024TB)
第二節 文件系統常用命令
1.文件系統查看命令df
df [選項] [掛載點]
選項:
-a? 顯示所有的文件系統信息,包括特殊文件系統,如/proc,/sysfs
-h? 使用習慣單位顯示容量,如KB,MB或GB等
-T? 顯示文件系統類型
-m? 以MB為單位顯示容量
-k? 以KB為單位顯示容量
2.統計目錄或文件大小du
du [選項] [目錄或文件名]
選項:
-a? 顯示每個子文件的磁盤占用量。默認只統計子目錄的磁盤占用量
-h? 使用習慣單位顯示磁盤占用量,如KB,MB或GB等
-s? 統計總占用量,而不列出子目錄和子文件的占用量
du命令和df命令的區別
df命令是從文件系統考慮的,不光要考慮文件占用的空間,還要統計被命令或程序占用的空間(最常見的就是文件已經刪除,但是程序并沒有釋放空間)
du命令是面向文件的,只會計算文件或目錄占用的空間
3.文件系統修復命令fsck
fsck [選項] 分區設備文件名
選項:
-a? 不用顯示用戶提示,自動修復文件系統
-y? 自動修復,和-a作用一致,不過有些文件系統只支持-y
注意:該命令由系統自動執行,手動執行時有宕機風險
4.顯示磁盤狀態命令dumpe2fs
dumpe2fs 分區設備文件名
通過此命令可以查看分區中的一個數據塊大小(一般為1KB,2KB或4KB)
5.查詢與自動掛載
mount [-l]? ? 查詢系統中已掛載的設備,-l會顯示卷標名稱
mount -a? ? ? 依據配置文件/etc/fstab的內容,自動掛載
6.掛載命令格式
mount [-t 文件系統] [-L 卷標名] [-o 特殊選項] 設備文件名 掛載點
選項:
-t 文件系統? ? 加入文件系統類型來指定掛載的類型,可以是ext3,ext4,iso9660等文件系統
-L 卷標名? ? ? 掛載指定卷標的分區,而不是按設備文件名掛載
-o 特殊選項? ? 可以執行掛載的額外選項
命令實例
mount -o remount,noexec /home? #重新掛載/boot分區,并使用noexec權限
cd /home
vi hello.sh
chmod 755 hello.sh
./hello.sh
mount -o remount,exec /home? ??? #記得改回來,要不會影響系統啟動
mount命令可以支持的選項參數
atime/noatime? ? 更新訪問時間/不更新訪問時間。訪問分區文件時,是否更新文件的訪問時間,默認為更新
async/sync? ? ? ? 異步/同步,默認為異步
auto/noauto? ? ? 自動/手動,mount -a命令執行時,是否會自動安裝/etc/fstab文件自動掛載,默認為自動
defaults? ? ? ? ? ?? 定義默認值,相當于rw,suid,dev,exec,auto,nouser,async這七個選項
exec/noexec? ? 執行/不執行,設定是否允許在文件系統中執行可執行文件,默認是exec允許
remount? ? ? ? ??? 重新掛載已經掛載的文件系統,一般用于指定修改特殊的權限
rw/ro? ? ? ? ? ??????? 讀寫/只讀,文件系統掛載時,是否具有讀寫權限,默認是rw
suid/nosuid? ? ? 具有/不具有SUID權限,設定文件系統是否具有SUID和SGID的權限,默認是具有
user/nouser? ? ? 允許/不允許普通用戶掛載,設定文件系統是否允許普通用戶掛載默認是不允許,只有root可以掛載分區
usrquota? ? ? ????? 寫入代表文件系統支持用戶磁盤配額,默認不支持
grpquota? ? ? ???? 寫入代表文件系統支持組磁盤配額,默認不支持
7.掛載光盤
mkdir /mnt/cdrom? ? ? 建立掛載點
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
注意:/dev/cdrom是/dev/sr0的軟鏈接
8.卸載命令
umount 設備文件名或掛載點
umount /mnt/cdrom
9.掛載U盤
fdisk -l? ? ? ? 查看U盤設備文件名
mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默認不支持NTFS文件系統,fat16識別為fat,fat32識別為vfat
10.讓Linux支持NTFS文件系統
1)下載NTFS-3G插件
http://www.tuxera.com/community/ntfs-3g-download/
2)安裝NTFS-3G
tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz? #解壓
cd ntfs-3g_ntfsprogs-2013.1.13? ? ? #進入解壓目錄
./configure? ? ? #編譯前準備,沒有指定安裝目錄,安裝到默認位置中
make? ? ? #編譯
make install? ? ? #編譯安裝
3)使用
mount -t ntfs-3g 分區設備文件名 掛載點
第三節 fdisk分區
1.添加新硬盤
2.查看新硬盤
fdisk -l
3.使用fdisk命令分區
fdisk /dev/sdb
fdisk交互指令說明
a? ? ? 設置可引導標記
b? ? ? 編輯bsd磁盤標簽
c? ? ? 設置DOS操作系統兼容標記
d? ? ? 刪除一個分區
l? ? ? 顯示已知的文件系統類型。82為Linux swap分區,83為Linux分區
m? ? ? 顯示幫助菜單
n? ? ? 新建分區
o? ? ? 建立空白DOS分區表
p? ? ? 顯示分區列表
q? ? ? 不保存退出
s? ? ? 新建空白SUN磁盤標簽
t? ? ? 改變一個分區的系統ID
u? ? ? 改變顯示記錄單位
v? ? ? 驗證分區表
w? ? ? 保存退出
x? ? ? 附加功能
4.重新讀取分區表信息
partprobe
5.格式化分區
mkfs -t ext4 /dev/sdb1
注意:擴展分區不能被格式化,只能包含邏輯分區
6.建立掛載點并掛載
mkdir /disk1
mount /dev/sdb1 /disk/
7./etc/fstab文件
第一個字段:分區設備文件名或UUID(硬盤通用唯一識別碼)
第二個字段:掛載點
第三個字段:文件系統名稱
第四個字段:掛載參數
第五個字段:指定分區是否被dump備份,0代表不備份,1代表每天備份,2代表不定期備份
第六個字段:指定分區是否被fsck檢測,0代表不檢測,其他數字代表檢測的優先級,1的優先級比2高
注意:默認的/ /boot /home分區之默認每天備份的,備份的數據放入lost+found文件夾中
8.分區自動掛載
vi /etc/fstab
/dev/sdb1? ? ? /disk1? ? ? ext4? ? ? ? defaults? ? ? 1? 2
注意:修改/etc/fstab文件后最好先執行mount -a命令依據配置文件/etc/fstab文件內容將分區重新掛載,這樣可以避免開機掛載失敗使系統起不來
9./etc/fstab文件修復
mount -o remount,rw /? ? 為根分區賦予寫權限,從而修改/etc/fstab文件
第四節 分配swap分區
1.free命令
free? 查看內存與swap分區使用狀況
cached(緩存):是指把讀出來的數據保存在內存當中,當再次讀取時,不用讀取硬盤而直接從內存當中讀取,加速了數據的讀取過程
buffer(緩沖):是指在寫入數據時先把分散的寫入操作保存到內存當中,當達到一定程度再集中寫入硬盤,減少了磁盤碎片和硬盤的反復尋道,加速了數據的寫入過程
2.新建swap分區
fdisk /dev/sdb
別忘記把分區ID改為82
3.格式化
mkswap /dev/sdb6
4.加入swap分區
swapon /dev/sdb6? ? ? ? ? 加入swap分區
swapoff /dev/sdb6? ? ? ? ? 取消swap分區
5.swap分區開機自動掛載
vi /etc/fstab
/dev/sdb6? ? ? swap? ? ? ? swap? ? ? defaults? ? ? 0? 0