第九章 文件系統(tǒng)管理(分區(qū)和文件系統(tǒng),df命令、du命令、fsck命令和dumpe2fs命令,NTFS文件系統(tǒng),fdisk分區(qū),etc/fstab文件修復(fù),swap分區(qū),free命令)

9.1 回顧分區(qū)和文件系統(tǒng)

1、 分區(qū)類(lèi)型

? 主分區(qū):總共最多只能分四個(gè)

? 擴(kuò)展分區(qū):只能有一個(gè),也算作主分區(qū)的一種,也就是說(shuō)主分區(qū)加擴(kuò)展分區(qū)最多有四個(gè)。但是擴(kuò)展分區(qū)不能存儲(chǔ)數(shù)據(jù)和格式化,必須再劃分成邏輯分區(qū)才能使用。

? 邏輯分區(qū):邏輯分區(qū)是在擴(kuò)展分區(qū)中劃分的,如果是IDE硬盤(pán),Linux最多支持59個(gè)邏輯分區(qū),如果是SCSI硬盤(pán)Linux最多支持11個(gè)邏輯分區(qū)

2、 分區(qū)表示方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? ? 擴(kuò)展分區(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硬盤(pán)或者IDE硬盤(pán),a表示第一塊硬盤(pán))

其他分區(qū)方法:

? ? ? ? ? ? ? ? ? [? ? 擴(kuò)展分區(qū)? ? ? ? /dev/sda2? ? ? ]

主分區(qū)1? ? [邏輯分區(qū)1 邏輯分區(qū)2? 邏輯分區(qū)3]? ?

/dev/sda1 /dev/sda5? /dev/sda6 /dev/sda7

注意:邏輯分區(qū)號(hào)一定是從5開(kāi)始的

3、 文件系統(tǒng)

?ext2:是ext文件系統(tǒng)的升級(jí)版本,Red Hat Linux7.2版本以前的系統(tǒng)默認(rèn)都是ext2 文件系統(tǒng)。1993年發(fā)布,最大支持16TB 的分區(qū)和最大2TB的文件(1TB=1024GB=1024*1024KB)

?ext3: ext3文件系統(tǒng)是ext2文件系統(tǒng)的升級(jí)版本,最大的區(qū)別就是帶日志功能,以在系統(tǒng)突然停止時(shí)提高文件系統(tǒng)的可靠性。支持最大16TB的分區(qū)和最大2TB的文件

?ext4:它是ext3文件系統(tǒng)的升級(jí)版。ext4 在性能、伸縮性和可靠性方面進(jìn)行了大量改進(jìn)。EXT4 的變化可以說(shuō)是翻天覆地的,比如向下兼容EXT3、最大1EB文件系統(tǒng)和16TB文件、無(wú)限數(shù)量子目錄、Extents連續(xù)數(shù)據(jù)塊概念、多塊分配、延遲分配、持久預(yù)分配、快速FSCK、日志校驗(yàn)、無(wú)日志模式、在線(xiàn)碎片整理、inode增強(qiáng)、默認(rèn)啟用barrier等。是CentOS 6.3的默認(rèn)文件系統(tǒng)? ? ? (1EB=1024PB=1024*1024TB)



9.2 文件系統(tǒng)常用命令

9.2.1 df命令、du命令、fsck命令和dumpe2fs命令

1、文件系統(tǒng)查看命令df

[root@localhost ~]# df? [選項(xiàng)] [掛載點(diǎn)]

選項(xiàng):?

-a 顯示所有的文件系統(tǒng)信息,包括特殊文件系統(tǒng),如 /proc、/sysfs?

-h 使用習(xí)慣單位顯示容量,如KB,MB或GB等?

-T 顯示文件系統(tǒng)類(lèi)型?

-m 以MB為單位顯示容量?

-k 以KB為單位顯示容量。默認(rèn)就是以KB為單位


2、統(tǒng)計(jì)目錄或文件大小

[root@localhost ~]# du [選項(xiàng)] [目錄或文件名]

選項(xiàng):?

-a 顯示每個(gè)子文件的磁盤(pán)占用量。默認(rèn)只統(tǒng)計(jì) 子目錄的磁盤(pán)占用量?

-h 使用習(xí)慣單位顯示磁盤(pán)占用量,如KB,MB? 或GB等?

-s 統(tǒng)計(jì)總占用量,而不列出子目錄和子文件的 占用量

如:

[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ì)被命令或程序占用的空間(最常見(jiàn)的就是文件已經(jīng)刪除,但是程序并沒(méi)有釋放空間)

?du命令是面向文件的,只會(huì)計(jì)算文件或目錄占用的空間

3、文件系統(tǒng)修復(fù)命令fsck(少用)

[root@localhost ~]# fsck [選項(xiàng)] 分區(qū)設(shè)備文件名

選項(xiàng):

-a: 不用顯示用戶(hù)提示,自動(dòng)修復(fù)文件系統(tǒng)

-y: 自動(dòng)修復(fù)。和-a作用一致,不過(guò)有些文件系統(tǒng)只支 持-y

4、顯示磁盤(pán)狀態(tài)命令dumpe2fs

[root@localhost ~]# dumpe2fs 分區(qū)設(shè)備文件名

dumpe2fs命令為ext文件系統(tǒng)家族的命令,我的系統(tǒng)為CentOS7,文件系統(tǒng)為XFS,XFS默認(rèn)支持ACL??梢允褂?xfs_info? /dev/xxx查看'XFS`文件系統(tǒng)信息。

如:[root@localhost ~]# dumpe2fs /dev/sda1


9.2.2 掛載命令

1、查詢(xún)與自動(dòng)掛載 (把設(shè)備和盤(pán)符連接起來(lái)的過(guò)程就叫做掛載)

[root@localhost ~]# mount [-l]

#查詢(xún)系統(tǒng)中已經(jīng)掛載的設(shè)備,-l會(huì)顯示卷標(biāo)名稱(chēng)?

[root@localhost ~]# mount –a

#依據(jù)配置文件/etc/fstab的內(nèi)容,自動(dòng)掛載?

2、掛載命令格式 ( 把 [設(shè)備文件名] 掛載到 [掛載點(diǎn)] )

[root@localhost ~]# mount [-t 文件系統(tǒng)] [-L 卷標(biāo)名]? \

[-o 特殊選項(xiàng)]? 設(shè)備文件名 掛載點(diǎn)

選項(xiàng):?

-t 文件系統(tǒng):加入文件系統(tǒng)類(lèi)型來(lái)指定掛載的類(lèi)型,可以ext3、ext4、iso9660等文件系統(tǒng)?

-L 卷標(biāo)名: 掛載指定卷標(biāo)的分區(qū),而不是安裝設(shè)備文件名掛載?

-o 特殊選項(xiàng):可以指定掛載的額外選項(xiàng)(圖239)

home下使用noexec權(quán)限,那么即使是root用戶(hù)也無(wú)法執(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

#記得改回來(lái)啊,要不會(huì)影響系統(tǒng)啟動(dòng)的


9.2.3 掛載光盤(pán)與U盤(pán)

1、掛載光盤(pán)

[root@localhost ~]# mkdir /mnt/cdrom/

#建立掛載點(diǎn)(一個(gè)空目錄)

[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/

#掛載光盤(pán)

[root@localhost ~]# mount? -t iso9660 /dev/sr0 /mnt/cdrom/?

上面兩句命令都是可行的。因?yàn)椋╗root@localhost home]# ll /dev/cdrom

lrwxrwxrwx. 1 root root 3 5月? 8 18:19 /dev/cdrom -> sr0

說(shuō)明 /dev/cdrom是//dev/sr0的軟鏈接)

(iso9660是系統(tǒng)默認(rèn)的可以不寫(xiě))

故上面兩句命令也可以寫(xiě)成:

[root@localhost ~]# mount? /dev/cdrom /mnt/cdrom/

#掛載光盤(pán)

[root@localhost ~]# mount? /dev/sr0 /mnt/cdrom/?

2、卸載命令

[root@localhost ~]# umount 設(shè)備文件名或掛載點(diǎn)?

[root@localhost ~]# umount /mnt/cdrom

或者 [root@localhost ~]# umount /dev/cdrom

或者 [root@localhost ~]# umount /dev/sr0

3、掛載U盤(pán) (要在虛擬機(jī)內(nèi)執(zhí)行,不能在遠(yuǎn)程工具)

[root@localhost ~]# fdisk –l

#查看U盤(pán)設(shè)備文件名

[root@localhost ~]# mkdir /mnt/usb

[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/?

注意:Linux默認(rèn)是不支持NTFS文件系統(tǒng)的 (FAT32識(shí)別為vfat)

4.卸載U盤(pán)

[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

#進(jìn)入解壓目錄

[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure

#編譯器準(zhǔn)備。沒(méi)有指定安裝目錄,安裝到默認(rèn)位置中

[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è)備文件名? 掛載點(diǎn)

如:mount -t ntfs-3g /dev/sdb1 /mnt/usb

4.卸載

[root@localhost ~]# umount /mnt/usb

卸載之后才可以拔出


9.3 fdisk分區(qū)

9.3.1 fdisk命令分區(qū)過(guò)程(手動(dòng)掛載,重啟之后就失效了)

1、添加新硬盤(pán)

編輯此虛擬機(jī)

2、查看新硬盤(pán)

[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、建立掛載點(diǎn)并掛載

[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ū)自動(dòng)掛載與fstab文件修復(fù)

注意:修改/etc/fstab這個(gè)文件要極其慎重,否則會(huì)造成系統(tǒng)崩潰

1、/etc/fstab文件

? 第一字段:分區(qū)設(shè)備文件名或UUID(硬盤(pán)通用唯一識(shí)別碼)

? 第二字段:掛載點(diǎn)

? 第三字段:文件系統(tǒng)名稱(chēng)

? 第四字段:掛載參數(shù)

? 第五字段:指定分區(qū)是否被dump備份,0代表不備份,1 代表每天備份,2代表不定期備份

? 第六字段:指定分區(qū)是否被fsck檢測(cè),0代表不檢測(cè),其他數(shù)字代表檢測(cè)的優(yōu)先級(jí),那么當(dāng)然1的優(yōu)先級(jí)比2高? (數(shù)字越小優(yōu)先級(jí)越高)

(可以通過(guò) dumpe2fs -h /dev/sdb1 查看UUID)

2、分區(qū)自動(dòng)掛載 [root@localhost ~]# vi /etc/fstab

…省略部分輸出…

/dev/sdb5? ? ? ? ? ? ? /disk5? ? ? ? ? ? ? ? ? ext4? ? defaults? ? ? ? 1 2

[root@localhost ~]# mount -a

#依據(jù)配置文件 /etc/fstab的內(nèi)容,自動(dòng)掛載

3、/etc/fstab文件修復(fù)

[root@localhost ~]# mount -o remount,rw /

#將根分區(qū)重新掛載為讀寫(xiě)權(quán)限,然后再修改 /etc/fstab/錯(cuò)誤的內(nèi)容即可


9.4 分配swap分區(qū)(fdisk -l 查詢(xún)分區(qū)情況)

1、 新建swap分區(qū)

[root@localhost ~]# fdisk /dev/sdb?

新建一個(gè)邏輯分區(qū) n , l ,默認(rèn)開(kāi)始柱面,+1G(分配1G),p(查看分區(qū)情況),t(改分區(qū)號(hào)),6(要修改的分區(qū)),82,w(保存退出)

別忘記把分區(qū)ID改為82(swap的分區(qū)號(hào)是82)

[root@localhost ~]# partprobe

2、 格式化

[root@localhost ~]# mkswap /dev/sdb6

(如果報(bào)錯(cuò),就重啟)

3、 加入swap分區(qū)

[root@localhost ~]# swapon /dev/sdb6

#把該分區(qū)加入系統(tǒng)真正的swap分區(qū)

[root@localhost ~]# swapoff /dev/sdb6

#取消swap分區(qū)

4、 swap分區(qū)開(kāi)機(jī)自動(dòng)掛載 (寫(xiě)入系統(tǒng)文件,否則重啟會(huì)失效)

[root@localhost ~]# vi /etc/fstab

/dev/sdb6? ? ? ? swap? ? ? ? ? ? ? ? ? ? swap? ? defaults? ? ? ? 0 0?

(注意掛載點(diǎn)是swap,而不是 /swap 不是根分區(qū)下的Swap沒(méi)有這個(gè)目錄)

[root@localhost ~]# mount -a

看看是否報(bào)錯(cuò),如果沒(méi)有報(bào)錯(cuò),開(kāi)機(jī)就會(huì)自動(dòng)掛載

5、 free命令

[root@localhost ~]# free? -m

#查看內(nèi)存與swap分區(qū)使用狀況

?cached(緩存):是指把讀取出來(lái)的數(shù)據(jù)保存在內(nèi)存當(dāng)中,當(dāng)再次讀取時(shí),不用讀取硬盤(pán)而直接從內(nèi)存當(dāng)中讀取,加速了數(shù)據(jù)的讀取過(guò)程

?buffer(緩沖):是指在寫(xiě)入數(shù)據(jù)時(shí),先把分散的寫(xiě)入操作保存到內(nèi)存當(dāng)中,當(dāng)達(dá)到一定程度再集中寫(xiě)入硬盤(pán),減少了磁盤(pán)碎片和硬盤(pán)的反復(fù)尋道,加速了數(shù)據(jù)的寫(xiě)入過(guò)程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容