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

命令(輸入 m 獲取幫助):p #打印分區表
磁盤 /dev/sdd:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x68fae116
設備 Boot Start End Blocks Id System
/dev/sdd1 2048
出現/dev/sd1 就已經分區完成
但是掛載使用還要格式化寫入文件系統
命令: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命令是臨時掛載,這樣掛載的話。關機重啟就沒了,所以我們要寫入/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 #將對應的/dev/sdd1UUID寫讓文件
查看掛載信息
[root@network ~]# df -Th
/etc/fstab
注意其實有兩種掛載方式:
UUID 掛載路徑 系統類型 default 0 0
設備文件 掛載路徑 系統類型 default 0 0
fdisk分區翻譯
命令回顧:
mount命令(臨時掛載硬盤等設備)
-a 掛載 /etc/fstab 中的所有文件系統
-r 只讀掛載
-w 讀寫掛載
-t 指定掛載的文件系統類型
umount命令(卸載硬盤等設備)
語法:
-a 卸除/etc/mtab中記錄的所有文件系統。
-h 顯示幫助。
-n 卸除時不要將信息存入/etc/mtab文件中。
-r 若無法成功卸除,則嘗試以只讀的方式重新掛入文件系統。
-t<文件系統類型> 僅卸除選項中所指定的文件系統。
-v 執行時顯示詳細的信息。
-f 強制卸載(硬盤占用)
df命令(檢查文件系統的磁盤空間占用情況)
語法:
-a:顯示所有文件系統的磁盤使用情況,包括0塊(block)的文件系統。
-h:以容易理解的格式輸出文件系統大小,例如124KB、345MB、46GB。
-i:顯示i節點信息,而不是磁盤塊。
-t:顯示各指定類型的文件系統的磁盤空間使用情況。
-x:列出不是某一指定類型文件系統的磁盤空間使用情況。
-T:顯示文件系統類型。
df 以512字節為單位
df -k 以1024字節為單位
八:Linux UUID的作用及意義
原因1:
它是真正的唯一標志符
UUID為系統中的存儲設備提供唯一的標識字符串,不管這個設備是什么類型的。如果你在系統中添加了新的存儲設備如硬盤,很可能會造成一些麻煩,比如說啟動的時候因為找不到設備而失敗,而使用UUID則不會有這樣的問題。
原因2:
設備名并非總是不變的
自動分配的設備名稱并非總是一致的,它們依賴于啟動時內核加載模塊的順序。如果你在插入了USB盤時啟動了系統,而下次啟動時又把它拔掉了,就有可能導致設備名分配不一致。
使用UUID對于掛載移動設備也非常有好處──例如我有一個24合一的讀卡器,它支持各種各樣的卡,而使用UUID總可以使同一塊卡掛載在同一個地方。