一:文件系統(tǒng)概念基礎(chǔ)
文件系統(tǒng)是操作系統(tǒng)用于明確存儲設(shè)備(常見的是磁盤,也有基于NAND Flash的固態(tài)硬盤)或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在存儲設(shè)備上組織文件的方法。操作系統(tǒng)中負責管理和存儲文件信息的軟件機構(gòu)稱為文件管理系統(tǒng),簡稱文件系統(tǒng)。文件系統(tǒng)由三部分組成:文件系統(tǒng)的接口,對對象操縱和管理的軟件集合,對象及屬性。從系統(tǒng)角度來看,文件系統(tǒng)是對文件存儲設(shè)備的空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統(tǒng)。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲文件,控制文件的存取,當用戶不再使用時撤銷文件等。
Windows系統(tǒng)類型
文件系統(tǒng)類型大致就是存儲文件的方式,和最大支持獨立分區(qū)的容量。
例子:
u盤不能拷貝超過4G的大文件的情況,并不是U盤有問題。原來目前的移動存儲器,U盤都是采用的FAT32文件系統(tǒng)。導(dǎo)致u盤不能拷貝超過4G的大文件的。解決方案就是改變文件系統(tǒng)類型。
二:LINUX文件系統(tǒng)類型 1.ext2
ext2是為解決ext文件系統(tǒng)的缺陷而設(shè)計的可擴展的、高性能的文件系統(tǒng),又被稱為二級擴展文件系統(tǒng)。它是Linux文件系統(tǒng)中使用最多的類型,并且在速度和CPU利用率上較為突出。ext2存取文件的性能極好,并可以支持256字節(jié)的長文件名,是GNU/Linux系統(tǒng)中標準的文件系統(tǒng)。
2、ext3
ext3是ext2文件系統(tǒng)的日志版本,它在ext2文件系統(tǒng)中增加了日志的功能。ext3提供了3種日志模式:日志(journal)、順序(ordered)和回寫()。與ext2相比,ext3提供了更好的安全性以及向上向下的兼容性能。因此,在Linux系統(tǒng)中可以掛在一個ext3文件系統(tǒng)代替ext2文件系統(tǒng)。ext3文件系統(tǒng)格式被廣泛應(yīng)用于目前的Linux系統(tǒng)中。ext3的缺點是缺乏現(xiàn)代文件系統(tǒng)所具有的高速數(shù)據(jù)處理和解壓的性能。此外,使用ext3文件系統(tǒng)還要考慮磁盤限額問題。
3.swap 文件系統(tǒng)
該文件系統(tǒng)是 Linux 中作為交換分區(qū)使用的。在安裝 Linux 的時候,交換分區(qū)是必須建立的,并且它所采用的文件系統(tǒng)類型必須是 swap 而沒有其他選擇。
4.vfat 文件系統(tǒng)
Linux 中把 DOS 中采用的 FAT 文件系統(tǒng)(包括 FAT12,F(xiàn)AT16 和 FAT32)都稱為 vfat文件系統(tǒng)。
5.NFS 文件系統(tǒng)
NFS 文件系統(tǒng)是指網(wǎng)絡(luò)文件系統(tǒng),這種文件系統(tǒng)也是 Linux 的獨到之處。它可以很方便地在局域網(wǎng)內(nèi)實現(xiàn)文件共享,并且使多臺主機共享同一主機上的文件系統(tǒng)。而且 NFS 文件系統(tǒng)訪問速度快、穩(wěn)定性高,已經(jīng)得到了廣泛的應(yīng)用,尤其在嵌入式領(lǐng)域,使用 NFS 文件系統(tǒng)可以很方便地實現(xiàn)文件本地修改,而免去了一次次讀寫 flash 的憂慮。
6.ISO9660 文件系統(tǒng)
這是光盤所使用的文件系統(tǒng),在 Linux 中對光盤已有了很好的支持,它不僅可以提供對光盤的讀寫,還可以實現(xiàn)對光盤的刻錄。
選取linux7.6書籍內(nèi)容
三:文件系統(tǒng)結(jié)構(gòu)
Linux文件系統(tǒng)由三部分組成 :文件名,inode,block
Linux文件系統(tǒng): ext3 ,ext4,xfs
windows文件系統(tǒng): FAT32,NTFS
block翻譯是塊,inode翻譯是索引,可以這么理解。
友情鏈接:https://www.cnblogs.com/llife/p/11470668.html
四:硬盤及分區(qū)命名規(guī)則
因為計算機中有了硬盤設(shè)備才使得我們游戲通關(guān)過后可以保存記錄而不是再重新開始,硬盤設(shè)備則是由大量的“扇區(qū)”組成的,其中第一個扇區(qū)保存著主引導(dǎo)記錄與分區(qū)表信息。單個扇區(qū)容量為組成,主引導(dǎo)記錄需要占用,分區(qū)表的為64bytes,而每記錄 一個分區(qū)信息需要16bytes, 那么問題來了,好像只能記錄4個分區(qū)信息?
所以運維人員一般會選擇用3個主分區(qū)加1個擴展分區(qū)的方法,擴展分區(qū)中能夠創(chuàng)建無限個邏輯分區(qū),這樣我們就可以用邏輯分區(qū)來滿足多分區(qū)的需求了,當然這里大家只需明白為什么主分區(qū)不能超過4個。
常見的硬件命名專如下:
磁盤分區(qū)規(guī)則:
主分區(qū)和擴展分區(qū)一共最多4個;
擴展分區(qū)只能有1個;
邏輯分區(qū)只能在擴展分區(qū)上進行劃分;
邏輯分區(qū)的分區(qū)編號從5開始;
主分區(qū)和邏輯分區(qū)能被格式化,擴展分區(qū)不能格式化
五:硬盤管理(一)
在平常裝windows系統(tǒng)中,我們會對磁盤進行分區(qū),達到文件分類的結(jié)果。或者是盤多情況下直接添加使用。在linux必須先格式化硬盤過著分區(qū)才能使用。因為硬盤默認的格式linux是識別不了的。如果分區(qū)使用,那么盤的順序?qū)-p為例,我們新添加的盤是sdb,分了區(qū)后就是以分區(qū)號來展示。/dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb4就是分區(qū)號。如果直接格式化使用那么就是/dev/sdb,
Windows分區(qū)
Linux分區(qū)
環(huán)境準備,需添加一塊硬盤。
如果剛添加完硬盤不重啟是不能立即識別。
解決方法:
Linux如何不重啟掃到磁盤
查看主機總線號
[root@network ~]# ls /sys/class/scsi_host/
2.重新掃描SCSI總線來添加設(shè)備
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
注意:查看系統(tǒng)日志/var/log/,發(fā)現(xiàn)對SCSI設(shè)備進行了一次重新掃描。需要注意的是echo的三個- – -號之間有空隔。
此時發(fā)現(xiàn)多出來一塊盤,盤的順序是根據(jù)abcdefg以此類型的形式顯示。
注意:一般是掃描/sys/class//host0/scan就直接掃描出來,如果不出現(xiàn)統(tǒng)統(tǒng)掃一遍。
沒有格式化的硬盤
無法識別系統(tǒng)類型,類型為空。
六:磁盤格式化
這里使用/dev/sdd舉例
[root@localhost ~]# ls /dev/sd* #查看本機硬盤數(shù)量及名稱
/dev/sda /dev/sda2 /dev/sdc /dev/sde
/dev/sda1 /dev/sdb /dev/sdd
[root@localhost ~]# fdisk /dev/sdd #分區(qū)命令
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0x68fae116 創(chuàng)建新的 DOS 磁盤標簽。
命令(輸入 m 獲取幫助):n #創(chuàng)建一個新的分區(qū)
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): #直接回車默認
Using default response p
分區(qū)號 (1-4,默認 1):1 #直接回車默認
起始 扇區(qū) (2048-41943039,默認為 2048):#直接回車默認
將使用默認值 2048
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2048-41943039,默認為 41943039):
將使用默認值 41943039 #直接回車默認
分區(qū) 1 已設(shè)置為 Linux 類型,大小設(shè)為 20 GiB

命令(輸入 m 獲取幫助):p #打印分區(qū)表
磁盤 /dev/sdd:21.5 GB, 21474836480 字節(jié),41943040 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x68fae116
設(shè)備 Boot Start End Blocks Id System
/dev/sdd1 2048
出現(xiàn)/dev/sd1 就已經(jīng)分區(qū)完成
但是掛載使用還要格式化寫入文件系統(tǒng)
命令:mkfs
[root@localhost ~]# mkfs -t xfs /dev/sdd1
meta-data=/dev/sdd1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
七:磁盤的兩種掛載方式
1 臨時掛載
語法:
mount 磁盤位置 掛載的文件夾
[root@localhost ~]# mount /dev/sdd1 /mnt/
mount: /dev/sdd1 寫保護,將以只讀方式掛載
2 永久掛載
注意:mount命令是臨時掛載,這樣掛載的話。關(guān)機重啟就沒了,所以我們要寫入/etc/fstab里
[root@localhost ~]# blkid #查找硬盤UUID
/dev/sda1: UUID="7537decf-483b-4ad5-9142-9fa688a711a1" TYPE="xfs"
/dev/sda2: UUID="4SeTMa-yuqg-DWQV-woMz-VYO4-cEvE-5UY4UO" TYPE="LVM2_member"
/dev/sdb1: UUID="aba633ed-f0d3-4c5e-b803-51626ca10b2c" TYPE="xfs"
/dev/sdd1: UUID="b5bb3e17-ad52-4f1d-900e-65d0d8ac4431" TYPE="xfs"
/dev/sr0: UUID="2019-09-11-18-50-31-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="75b3a137-d0fe-43cc-af5f-fee68123c01d" TYPE="xfs"
/dev/mapper/centos-swap: UUID="182c7962-9ef3-4cb0-956e-bc08eae15c19" TYPE="swap"
[root@localhost ~]# vim /etc/fstab #將對應(yīng)的/dev/sdd1UUID寫讓文件
查看掛載信息
[root@network ~]# df -Th
/etc/fstab
注意其實有兩種掛載方式:
UUID 掛載路徑 系統(tǒng)類型 default 0 0
設(shè)備文件 掛載路徑 系統(tǒng)類型 default 0 0
fdisk分區(qū)翻譯
命令回顧:
mount命令(臨時掛載硬盤等設(shè)備)
-a 掛載 /etc/fstab 中的所有文件系統(tǒng)
-r 只讀掛載
-w 讀寫掛載
-t 指定掛載的文件系統(tǒng)類型
umount命令(卸載硬盤等設(shè)備)
語法:
-a 卸除/etc/mtab中記錄的所有文件系統(tǒng)。
-h 顯示幫助。
-n 卸除時不要將信息存入/etc/mtab文件中。
-r 若無法成功卸除,則嘗試以只讀的方式重新掛入文件系統(tǒng)。
-t<文件系統(tǒng)類型> 僅卸除選項中所指定的文件系統(tǒng)。
-v 執(zhí)行時顯示詳細的信息。
-f 強制卸載(硬盤占用)
df命令(檢查文件系統(tǒng)的磁盤空間占用情況)
語法:
-a:顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng)。
-h:以容易理解的格式輸出文件系統(tǒng)大小,例如124KB、345MB、46GB。
-i:顯示i節(jié)點信息,而不是磁盤塊。
-t:顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x:列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況。
-T:顯示文件系統(tǒng)類型。
df 以512字節(jié)為單位
df -k 以1024字節(jié)為單位
八:Linux UUID的作用及意義
原因1:
它是真正的唯一標志符
UUID為系統(tǒng)中的存儲設(shè)備提供唯一的標識字符串,不管這個設(shè)備是什么類型的。如果你在系統(tǒng)中添加了新的存儲設(shè)備如硬盤,很可能會造成一些麻煩,比如說啟動的時候因為找不到設(shè)備而失敗,而使用UUID則不會有這樣的問題。
原因2:
設(shè)備名并非總是不變的
自動分配的設(shè)備名稱并非總是一致的,它們依賴于啟動時內(nèi)核加載模塊的順序。如果你在插入了USB盤時啟動了系統(tǒng),而下次啟動時又把它拔掉了,就有可能導(dǎo)致設(shè)備名分配不一致。
使用UUID對于掛載移動設(shè)備也非常有好處──例如我有一個24合一的讀卡器,它支持各種各樣的卡,而使用UUID總可以使同一塊卡掛載在同一個地方。