9.1 回顧分區(qū)和文件系統(tǒng)
1逐纬、 分區(qū)類型
? 主分區(qū):總共最多只能分四個
? 擴展分區(qū):只能有一個蛔屹,也算作主分區(qū)的一種,也就是說主分區(qū)加擴展分區(qū)最多有四個豁生。但是擴展分區(qū)不能存儲數(shù)據(jù)和格式化兔毒,必須再劃分成邏輯分區(qū)才能使用。
? 邏輯分區(qū):邏輯分區(qū)是在擴展分區(qū)中劃分的甸箱,如果是IDE硬盤育叁,Linux最多支持59個邏輯分區(qū),如果是SCSI硬盤Linux最多支持11個邏輯分區(qū)
2芍殖、 分區(qū)表示方法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? ? 擴展分區(qū)? ? ? ? /dev/sda4? ? ? ]
主分區(qū)1? ? ? 主分區(qū)2? ? ? 主分區(qū)3? ? ? [邏輯分區(qū)1 邏輯分區(qū)2? 邏輯分區(qū)3]
/dev/sda1? /dev/sda2? /dev/sda3? /dev/sda5? /dev/sda6 /dev/sda7
(其中sd表示SCSI硬盤或者IDE硬盤豪嗽,a表示第一塊硬盤)
其他分區(qū)方法:
? ? ? ? ? ? ? ? ? [? ? 擴展分區(qū)? ? ? ? /dev/sda2? ? ? ]
主分區(qū)1? ? [邏輯分區(qū)1 邏輯分區(qū)2? 邏輯分區(qū)3]? ?
/dev/sda1 /dev/sda5? /dev/sda6 /dev/sda7
注意:邏輯分區(qū)號一定是從5開始的
3、 文件系統(tǒng)
?ext2:是ext文件系統(tǒng)的升級版本围小,Red Hat Linux7.2版本以前的系統(tǒng)默認都是ext2 文件系統(tǒng)昵骤。1993年發(fā)布,最大支持16TB 的分區(qū)和最大2TB的文件(1TB=1024GB=1024*1024KB)
?ext3: ext3文件系統(tǒng)是ext2文件系統(tǒng)的升級版本肯适,最大的區(qū)別就是帶日志功能变秦,以在系統(tǒng)突然停止時提高文件系統(tǒng)的可靠性。支持最大16TB的分區(qū)和最大2TB的文件
?ext4:它是ext3文件系統(tǒng)的升級版框舔。ext4 在性能蹦玫、伸縮性和可靠性方面進行了大量改進赎婚。EXT4 的變化可以說是翻天覆地的,比如向下兼容EXT3樱溉、最大1EB文件系統(tǒng)和16TB文件挣输、無限數(shù)量子目錄、Extents連續(xù)數(shù)據(jù)塊概念福贞、多塊分配撩嚼、延遲分配、持久預(yù)分配挖帘、快速FSCK完丽、日志校驗、無日志模式拇舀、在線碎片整理逻族、inode增強、默認啟用barrier等骄崩。是CentOS 6.3的默認文件系統(tǒng)? ? ? (1EB=1024PB=1024*1024TB)
9.2 文件系統(tǒng)常用命令
9.2.1 df命令聘鳞、du命令、fsck命令和dumpe2fs命令
1要拂、文件系統(tǒng)查看命令df
[root@localhost ~]# df? [選項] [掛載點]
選項:?
-a 顯示所有的文件系統(tǒng)信息抠璃,包括特殊文件系統(tǒng),如 /proc宇弛、/sysfs?
-h 使用習(xí)慣單位顯示容量鸡典,如KB,MB或GB等?
-T 顯示文件系統(tǒng)類型?
-m 以MB為單位顯示容量?
-k 以KB為單位顯示容量枪芒。默認就是以KB為單位
2彻况、統(tǒng)計目錄或文件大小
[root@localhost ~]# du [選項] [目錄或文件名]
選項:?
-a 顯示每個子文件的磁盤占用量。默認只統(tǒng)計 子目錄的磁盤占用量?
-h 使用習(xí)慣單位顯示磁盤占用量舅踪,如KB纽甘,MB? 或GB等?
-s 統(tǒng)計總占用量,而不列出子目錄和子文件的 占用量
如:
[root@localhost ~]# du -sh /tmp
80K? ? /tmp
[root@localhost ~]# du -sh /root
164M? ? /root
[root@localhost ~]# du -h /tmp
4.0K? ? /tmp/stickyTestDir/p
8.0K? ? /tmp/stickyTestDir
4.0K? ? /tmp/chattrDire/def
12K? ? /tmp/chattrDire
4.0K? ? /tmp/dtest
4.0K? ? /tmp/.webmin
4.0K? ? /tmp/.ICE-unix
4.0K? ? /tmp/wangwuDir
4.0K? ? /tmp/testDir
8.0K? ? /tmp/project/def
32K? ? /tmp/project
80K? ? /tmp
du命令和df命令的區(qū)別
?df命令是從文件系統(tǒng)考慮的抽碌,不光要考慮文件占用的空間悍赢,還要統(tǒng)計被命令或程序占用的空間(最常見的就是文件已經(jīng)刪除,但是程序并沒有釋放空間)
?du命令是面向文件的货徙,只會計算文件或目錄占用的空間
3左权、文件系統(tǒng)修復(fù)命令fsck(少用)
[root@localhost ~]# fsck [選項] 分區(qū)設(shè)備文件名
選項:
-a: 不用顯示用戶提示,自動修復(fù)文件系統(tǒng)
-y: 自動修復(fù)痴颊。和-a作用一致赏迟,不過有些文件系統(tǒng)只支 持-y
4、顯示磁盤狀態(tài)命令dumpe2fs
[root@localhost ~]# dumpe2fs 分區(qū)設(shè)備文件名
dumpe2fs命令為ext文件系統(tǒng)家族的命令蠢棱,我的系統(tǒng)為CentOS7锌杀,文件系統(tǒng)為XFS甩栈,XFS默認支持ACL「庠伲可以使用 xfs_info? /dev/xxx查看'XFS`文件系統(tǒng)信息量没。
如:[root@localhost ~]# dumpe2fs /dev/sda1
9.2.2 掛載命令
1、查詢與自動掛載 (把設(shè)備和盤符連接起來的過程就叫做掛載)
[root@localhost ~]# mount [-l]
#查詢系統(tǒng)中已經(jīng)掛載的設(shè)備突想,-l會顯示卷標名稱?
[root@localhost ~]# mount –a
#依據(jù)配置文件/etc/fstab的內(nèi)容殴蹄,自動掛載?
2、掛載命令格式 ( 把 [設(shè)備文件名] 掛載到 [掛載點] )
[root@localhost ~]# mount [-t 文件系統(tǒng)] [-L 卷標名]? \
[-o 特殊選項]? 設(shè)備文件名 掛載點
選項:?
-t 文件系統(tǒng):加入文件系統(tǒng)類型來指定掛載的類型蒿柳,可以ext3饶套、ext4、iso9660等文件系統(tǒng)?
-L 卷標名: 掛載指定卷標的分區(qū)垒探,而不是安裝設(shè)備文件名掛載?
-o 特殊選項:可以指定掛載的額外選項(圖239)
home下使用noexec權(quán)限,那么即使是root用戶也無法執(zhí)行
如:重新掛載
[root@localhost ~]# mount -o remount,noexec /home
#重新掛載/boot分區(qū)怠李,并使用noexec權(quán)限
[root@localhost sh]# cd /home
[root@localhost boot]# vi hello.sh
[root@localhost boot]# chmod 755 hello.sh?
[root@localhost boot]# ./hello.sh
[root@localhost boot]# mount -o remount,exec /home
#記得改回來啊圾叼,要不會影響系統(tǒng)啟動的
9.2.3 掛載光盤與U盤
1、掛載光盤
[root@localhost ~]# mkdir /mnt/cdrom/
#建立掛載點(一個空目錄)
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
#掛載光盤
[root@localhost ~]# mount? -t iso9660 /dev/sr0 /mnt/cdrom/?
上面兩句命令都是可行的捺癞。因為([root@localhost home]# ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 5月? 8 18:19 /dev/cdrom -> sr0
說明 /dev/cdrom是//dev/sr0的軟鏈接)
(iso9660是系統(tǒng)默認的可以不寫)
故上面兩句命令也可以寫成:
[root@localhost ~]# mount? /dev/cdrom /mnt/cdrom/
#掛載光盤
[root@localhost ~]# mount? /dev/sr0 /mnt/cdrom/?
2夷蚊、卸載命令
[root@localhost ~]# umount 設(shè)備文件名或掛載點?
[root@localhost ~]# umount /mnt/cdrom
或者 [root@localhost ~]# umount /dev/cdrom
或者 [root@localhost ~]# umount /dev/sr0
3、掛載U盤 (要在虛擬機內(nèi)執(zhí)行髓介,不能在遠程工具)
[root@localhost ~]# fdisk –l
#查看U盤設(shè)備文件名
[root@localhost ~]# mkdir /mnt/usb
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/?
注意:Linux默認是不支持NTFS文件系統(tǒng)的 (FAT32識別為vfat)
4.卸載U盤
[root@localhost ~]# umount /dev/sdb1
或
[root@localhost ~]# umount /mnt/usb
9.2.4 支持NTFS文件系統(tǒng)
1惕鼓、 下載NTFS-3G插件
http://www.tuxera.com/community/ntfs-3g- download/
2、 安裝NTFS-3G
[root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz
#解壓
[root@localhost ~]# cd ntfs-3g_ntfsprogs-2013.1.13
#進入解壓目錄
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure
#編譯器準備唐础。沒有指定安裝目錄箱歧,安裝到默認位置中
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make
#編譯
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install
#編譯安裝
3、使用 [root@localhost ~]# mount -t ntfs-3g 分區(qū)設(shè)備文件名? 掛載點
如:mount -t ntfs-3g /dev/sdb1 /mnt/usb
4.卸載
[root@localhost ~]# umount /mnt/usb
卸載之后才可以拔出
9.3 fdisk分區(qū)
9.3.1 fdisk命令分區(qū)過程(手動掛載一膨,重啟之后就失效了)
1呀邢、添加新硬盤
編輯此虛擬機
2、查看新硬盤
[root@localhost ~]# fdisk -l?
(id中 82是linux swap分區(qū) 83是Linux分區(qū))
3豹绪、使用fdisk命令分區(qū) (圖253)
[root@localhost ~]# fdisk /dev/sdb
-n:添加
-p:? 查看有哪些分區(qū)
4价淌、重新讀取分區(qū)表信息 (若分區(qū)被占用)
[root@localhost ~]# partprobe?
5、格式化分區(qū) (打格段瞒津,建立node表)
[root@localhost ~]# mkfs -t ext4 /dev/sdb1?
6蝉衣、建立掛載點并掛載
[root@localhost ~]# mkdir /disk1
[root@localhost ~]# mount /dev/sdb1 /disk1/
[root@localhost ~]# mount /dev/sdb5 /disk1/
7.查看
[root@localhost ~]# df -h
Filesystem? ? ? Size? Used Avail Use% Mounted on
/dev/sda5? ? ? ? 16G? 2.6G? 13G? 18% ????/
tmpfs? ? ? ? ? ? ? ?498M? ? 0? 498M? 0% ????/dev/shm
/dev/sda1? ? ? 190M? 65M? 116M? 36%? ? /boot
/dev/sda2? ? ? 1.9G? 3.2M? 1.8G? 1% ????/home
/dev/sdb1? ? ? 2.0G? 3.1M? 1.9G? 1% ????/disk1
/dev/sdb5? ? ? 2.0G? 3.1M? 1.9G? 1% ????/disk1
9.3.2 分區(qū)自動掛載與fstab文件修復(fù)
注意:修改/etc/fstab這個文件要極其慎重,否則會造成系統(tǒng)崩潰
1巷蚪、/etc/fstab文件
? 第一字段:分區(qū)設(shè)備文件名或UUID(硬盤通用唯一識別碼)
? 第二字段:掛載點
? 第三字段:文件系統(tǒng)名稱
? 第四字段:掛載參數(shù)
? 第五字段:指定分區(qū)是否被dump備份病毡,0代表不備份,1 代表每天備份钓辆,2代表不定期備份
? 第六字段:指定分區(qū)是否被fsck檢測剪验,0代表不檢測肴焊,其他數(shù)字代表檢測的優(yōu)先級,那么當(dāng)然1的優(yōu)先級比2高? (數(shù)字越小優(yōu)先級越高)
(可以通過 dumpe2fs -h /dev/sdb1 查看UUID)
2功戚、分區(qū)自動掛載 [root@localhost ~]# vi /etc/fstab
…省略部分輸出…
/dev/sdb5? ? ? ? ? ? ? /disk5? ? ? ? ? ? ? ? ? ext4? ? defaults? ? ? ? 1 2
[root@localhost ~]# mount -a
#依據(jù)配置文件 /etc/fstab的內(nèi)容娶眷,自動掛載
3、/etc/fstab文件修復(fù)
[root@localhost ~]# mount -o remount,rw /
#將根分區(qū)重新掛載為讀寫權(quán)限啸臀,然后再修改 /etc/fstab/錯誤的內(nèi)容即可
9.4 分配swap分區(qū)(fdisk -l 查詢分區(qū)情況)
1届宠、 新建swap分區(qū)
[root@localhost ~]# fdisk /dev/sdb?
新建一個邏輯分區(qū) n , l ,默認開始柱面,+1G(分配1G)乘粒,p(查看分區(qū)情況)豌注,t(改分區(qū)號),6(要修改的分區(qū)),82灯萍,w(保存退出)
別忘記把分區(qū)ID改為82(swap的分區(qū)號是82)
[root@localhost ~]# partprobe
2轧铁、 格式化
[root@localhost ~]# mkswap /dev/sdb6
(如果報錯,就重啟)
3旦棉、 加入swap分區(qū)
[root@localhost ~]# swapon /dev/sdb6
#把該分區(qū)加入系統(tǒng)真正的swap分區(qū)
[root@localhost ~]# swapoff /dev/sdb6
#取消swap分區(qū)
4齿风、 swap分區(qū)開機自動掛載 (寫入系統(tǒng)文件,否則重啟會失效)
[root@localhost ~]# vi /etc/fstab
/dev/sdb6? ? ? ? swap? ? ? ? ? ? ? ? ? ? swap? ? defaults? ? ? ? 0 0?
(注意掛載點是swap绑洛,而不是 /swap 不是根分區(qū)下的Swap沒有這個目錄)
[root@localhost ~]# mount -a
看看是否報錯救斑,如果沒有報錯,開機就會自動掛載
5真屯、 free命令
[root@localhost ~]# free? -m
#查看內(nèi)存與swap分區(qū)使用狀況
?cached(緩存):是指把讀取出來的數(shù)據(jù)保存在內(nèi)存當(dāng)中脸候,當(dāng)再次讀取時,不用讀取硬盤而直接從內(nèi)存當(dāng)中讀取绑蔫,加速了數(shù)據(jù)的讀取過程
?buffer(緩沖):是指在寫入數(shù)據(jù)時运沦,先把分散的寫入操作保存到內(nèi)存當(dāng)中,當(dāng)達到一定程度再集中寫入硬盤晾匠,減少了磁盤碎片和硬盤的反復(fù)尋道茶袒,加速了數(shù)據(jù)的寫入過程