大家好,我是程序猿老王,就是那個程序猿老王。
今天,我將為大家介紹一下在Linux系統中磁盤管理中的一些關鍵操作,包括格式化、分區、掛載等。希望這篇文章對大家有所啟發。
磁盤管理基礎
1. 磁盤的概念
磁盤(Disk)是用于存儲和讀取數據的物理設備,通常由一個或多個旋轉的磁性盤片構成。這些盤片一般由金屬或玻璃制成,并涂覆有磁性材料。作為計算機系統中的主要永久性存儲介質之一,磁盤扮演著至關重要的角色。
2.磁盤工作機制
磁盤的工作機制是基于磁性材料的磁化和磁場感應原理。下面是磁盤的工作機制的基本過程:
- 磁化:磁盤上的磁性材料可以被磁化,即通過施加磁場來使得材料的磁性定向發生變化。這種磁化可以通過電磁磁鐵或磁頭產生的磁場來實現。
- 磁場感應:磁頭是磁盤上的感應器,它可以感受到磁場的變化并將其轉換為電信號。當磁頭靠近磁盤表面時,它可以檢測到磁性材料的磁化狀態。
- 數據讀取:在讀取數據時,磁頭通過感應磁場的變化來檢測磁盤上的數據。當磁頭經過磁化的區域時,感應到的磁場變化會轉換為電信號,并由磁盤控制器解讀為相應的數據。
- 數據寫入:在寫入數據時,磁頭會通過施加磁場來改變磁盤上的磁化狀態。磁頭會根據要寫入的數據,在磁盤上相應的位置創建或改變磁化模式,從而將數據存儲在磁性材料中。
- 尋道和旋轉:為了訪問特定的磁道和扇區,磁頭需要在磁盤表面上移動到目標位置,這個過程稱為尋道操作。磁頭的移動由磁盤驅動器控制,它們可以在磁盤半徑方向上移動。另外,磁盤通過旋轉盤片來實現高速讀寫操作,旋轉速度通常以每分鐘轉數(RPM)來表示。
通過控制磁場和磁頭的移動,磁盤實現了數據的存儲和檢索。這種機制具有較大的存儲容量、較低的成本以及相對較快的讀寫速度,使得磁盤成為計算機系統中主要的永久性存儲介質之一。
3.磁盤的專業名稱
3.1盤片 片面 和 磁頭
盤片(Platter):盤片是硬盤驅動器內部的圓形磁性盤,通常由金屬或玻璃材料制成。硬盤驅動器可以包含一個或多個盤片,它們堆疊在一起并通過中央軸固定。每個盤片都具有兩個平整的表面,稱為片面。
片面(Platter Surface):片面是盤片上的一個平整表面,用于存儲數據。一個盤片通常具有兩個片面,也就是兩個可用于讀寫數據的表面。每個片面都被劃分為一系列同心圓形的磁道,每個磁道又被劃分為多個扇區。
磁頭(Head):磁頭是位于盤片上方的裝置,用于讀取和寫入數據。在硬盤驅動器中,磁頭位于移動的磁臂上,并可以沿著盤片的半徑方向移動。每個片面上都有一個磁頭與磁盤進行數據交互。因此,如果硬盤驅動器有多個盤片,每個片面上都會有一個磁頭。
3.2扇區 和 磁道
扇區(Sector):扇區是磁盤上最小的存儲單位。它是磁道上的一個小片段,通常的大小為512字節或4KB。每個磁盤扇區都有一個唯一的地址,通過這個地址可以定位和訪問特定的數據。操作系統和文件系統將數據組織成扇區,然后使用扇區地址來讀取或寫入數據。
磁道(Track):磁道是磁盤表面上的一個圓環,沿著盤片的半徑方向延伸。一個磁盤上通常有多個磁道,它們被編號以便標識和訪問特定的磁道。每個磁道可以包含多個扇區,形成一個數據環。磁盤的磁頭可以在磁盤表面上移動到指定的磁道上,然后讀取或寫入磁道上的扇區數據。
3.3磁頭 和 柱面
磁頭(Head):磁頭是位于硬盤驅動器內部的裝置,用于讀取和寫入數據。在硬盤驅動器中,磁頭位于移動的磁臂上,并可以沿著盤片的半徑方向移動。每個片面上都有一個磁頭與磁盤進行數據交互。磁頭負責在特定的磁道上讀取或寫入數據。通過控制磁頭的移動和定位,可以將磁頭定位到目標磁道上的特定位置,以進行數據的讀寫操作。
柱面(Cylinder):柱面是硬盤驅動器內部的一個概念,表示位于多個盤片上的相同半徑位置的磁道的集合。換句話說,柱面由位于相同半徑位置的多個盤片上的磁道垂直堆疊而成。柱面號用于表示磁盤上具有相同半徑位置的磁道組合。通過將磁頭移動到特定柱面,可以訪問該柱面上的所有磁道。
4.磁盤分類
根據接口類型,磁盤可以分為多種類型,以下是一些常見的磁盤接口分類:
- SATA(Serial ATA)磁盤:SATA是目前最為常見的磁盤接口類型,廣泛用于臺式機和筆記本電腦。它提供了較高的數據傳輸速度和較低的成本,支持熱插拔和熱交換。
- SAS(Serial Attached SCSI)磁盤:SAS是一種高性能磁盤接口,主要用于企業級服務器和存儲系統。它提供了更高的數據傳輸速度和更可靠的連接,支持多路徑冗余和熱插拔功能。
- SCSI(Small Computer System Interface)磁盤:SCSI是一種早期的磁盤接口,用于連接高性能計算機系統和外部存儲設備。它提供了高速數據傳輸和靈活的設備連接選項,支持多設備鏈路和高級功能。
- NVMe(Non-volatile Memory express)磁盤:NVMe是一種基于PCIe(Peripheral Component Interconnect Express)總線的高性能磁盤接口。它專為固態硬盤(SSD)設計,具有低延遲和高速數據傳輸能力,廣泛用于高性能計算和數據中心環境。
這些磁盤接口類型在性能、可靠性、兼容性和成本等方面有所區別,適用于不同的應用場景和需求。選擇合適的磁盤接口類型要考慮主機設備的接口支持、數據傳輸需求和預算限制。
二、磁盤分區優勢
管理和組織數據:分區可以幫助您更好地管理和組織磁盤上的數據。通過將磁盤分割為多個區域,您可以將不同類型的數據存儲在不同的分區中,例如操作系統文件、應用程序、用戶數據等。這樣可以更好地組織文件,并使其更易于管理和維護。沒有分區時,所有數據都存儲在同一個磁盤上,可能會導致數據混亂和難以管理。
性能:分區可以對磁盤的性能產生影響。通過將數據分布在多個分區中,可以提高磁盤訪問的效率。例如,將操作系統和程序文件分配到一個分區,將用戶數據分配到另一個分區,這樣可以減少磁頭的移動距離,提高讀寫速度。沒有分區時,所有數據都存儲在同一個區域,可能會導致磁頭頻繁移動,降低訪問效率。
安全性和穩定性:通過將系統和用戶數據分開存儲在不同的分區中,可以提高系統的安全性和穩定性。如果發生系統故障或數據損壞,可能只影響某個特定的分區,而不會影響整個磁盤上的數據。沒有分區時,數據的安全性和穩定性可能會受到更大的威脅,因為整個磁盤上的數據都處于相同的風險之中。
多引導系統:分區使得在同一磁盤上安裝多個操作系統變得可能。每個操作系統可以位于不同的分區中,這樣可以實現多引導,使用戶可以在啟動時選擇要運行的操作系統。如果不對磁盤進行分區,則無法輕松實現多引導系統。
兼容性:某些文件系統在使用時需要特定的分區類型。通過將磁盤進行分區,可以選擇適當的分區類型以支持所需的文件系統。沒有分區時,可能無法滿足特定文件系統的要求。
總之,磁盤分區提供了更好的數據管理、性能、安全性和靈活性。它允許更好地組織和管理磁盤上的數據,提高性能,提供數據的安全性和穩定性,并允許實現多引導系統和不同文件系統的兼容性。沒有分區時,這些優勢和功能將無法實現。
三、磁盤分區
在Linux下,磁盤格式化、分區和掛載的詳細步驟如下所示:
1.確定磁盤設備
使用以下命令來查看可用磁盤設備:
/?#?fdisk?-l Disk?/dev/mmcblk1:?7456?MB,?7818182656?bytes,?15269888?sectors 238592?cylinders,?4?heads,?16?sectors/track Units:?sectors?of?1?*?512?=?512?bytes Disk?/dev/mmcblk1?doesn't?contain?a?valid?partition?table Disk?/dev/mmcblk1boot0:?4?MB,?4194304?bytes,?8192?sectors 128?cylinders,?4?heads,?16?sectors/track Units:?sectors?of?1?*?512?=?512?bytes Disk?/dev/mmcblk1boot0?doesn't?contain?a?valid?partition?table Disk?/dev/mmcblk1boot1:?4?MB,?4194304?bytes,?8192?sectors 128?cylinders,?4?heads,?16?sectors/track Units:?sectors?of?1?*?512?=?512?bytes Disk?/dev/mmcblk1boot1?doesn't?contain?a?valid?partition?table Disk?/dev/mmcblk0:?15?GB,?15931539456?bytes,?31116288?sectors 486192?cylinders,?4?heads,?16?sectors/track Units:?sectors?of?1?*?512?=?512?bytes Device???????Boot?StartCHS????EndCHS????????StartLBA?????EndLBA????Sectors??Size?Id?Type /dev/mmcblk0p1?*??0,32,33?????8,73,1????????????2048?????133119?????131072?64.0M??c?Win95?FAT32?(LBA) /dev/mmcblk0p2????8,73,2??????912,229,21??????133120???31116287???30983168?14.7G?83?Linux
從上面可以得出:
/dev/mmcblk1:容量為7456 MB的磁盤。238592柱面,4個磁頭,每個磁道16個扇區。磁盤上沒有有效的分區表。
/dev/mmcblk1boot0和/dev/mmcblk1boot1是磁盤的引導區,大小為4 MB,但它們沒有有效的分區表。
/dev/mmcblk0:容量為15 GB的磁盤。486192柱面,4個磁頭,每個磁道16個扇區。包含兩個分區:
- /dev/mmcblk0p1是引導分區,大小為64.0M,使用Win95 FAT32(LBA)文件系統。
- /dev/mmcblk0p2是第二個分區,大小為14.7G,使用Linux文件系統(ID為83)。
2.使用fdisk命令對磁盤進行分區
/?#?fdisk?/dev/mmcblk1 The?number?of?cylinders?for?this?disk?is?set?to?238592. There?is?nothing?wrong?with?that,?but?this?is?larger?than?1024, and?could?in?certain?setups?cause?problems?with: 1)?software?that?runs?at?boot?time?(e.g.,?old?versions?of?LILO) 2)?booting?and?partitioning?software?from?other?OSs ???(e.g.,?DOS?FDISK,?OS/2?FDISK) Command?(m?for?help):
此時命令欄提示輸入’m’,可以看到有如下參數:
Command?(m?for?help):?m Command?Action a???????toggle?a?bootable?flag b???????edit?bsd?disklabel c???????toggle?the?dos?compatibility?flag d???????delete?a?partition l???????list?known?partition?types n???????add?a?new?partition o???????create?a?new?empty?DOS?partition?table p???????print?the?partition?table q???????quit?without?saving?changes s???????create?a?new?empty?Sun?disklabel t???????change?a?partition's?system?id u???????change?display/entry?units v???????verify?the?partition?table w???????write?table?to?disk?and?exit x???????extra?functionality?(experts?only) Command?(m?for?help):?
各指令含義如下:
- a: 切換引導標志(toggle a bootable flag)
- b: 編輯BSD磁盤標簽(edit bsd disklabel)
- c: 切換DOS兼容性標志(toggle the dos compatibility flag)
- d: 刪除分區(delete a partition)
- l: 列出已知的分區類型(list known partition types)
- n: 添加新分區(add a new partition)
- o: 創建一個新的空DOS分區表(create a new empty DOS partition table)
- p: 打印分區表(print the partition table)
- q: 退出而不保存更改(quit without saving changes)
- s: 創建一個新的空Sun磁盤標簽(create a new empty Sun disklabel)
- t: 更改分區的系統ID(change a partition’s system id)
- u: 更改顯示/輸入單位(change display/entry units)
- v: 驗證分區表(verify the partition table)
- w: 將表寫入磁盤并退出(write table to disk and exit)
- x: 額外功能(僅供專家使用)(extra functionality (experts only)) 繼續往下,進行創建分區操作:
Command?(m?for?help):?n Partition?type ???p???primary?partition?(1-4) ???e???extended p Partition?number?(1-4):?1 First?sector?(16-15269887,?default?16):? Using?default?value?16 Last?sector?or?+size{,K,M,G,T}?(16-15269887,?default?15269887):?+32M Command?(m?for?help):?n Partition?type ???p???primary?partition?(1-4) ???e???extended p Partition?number?(1-4):?2 First?sector?(65552-15269887,?default?65552):? Using?default?value?65552 Last?sector?or?+size{,K,M,G,T}?(65552-15269887,?default?15269887):? Using?default?value?15269887 Command?(m?for?help):?t Partition?number?(1-4):?1 Hex?code?(type?L?to?list?codes):?c Changed?system?type?of?partition?1?to?c?(Win95?FAT32?(LBA)) Command?(m?for?help):?a Partition?number?(1-4):?1 Command?(m?for?help):?w The?partition?table?has?been?altered. Calling?ioctl()?to?re-read?partition?table [?1334.059435]??mmcblk1:?p1?p2
以下是對上面輸入命令的詳細解釋:
- 使用命令’n’創建一個新的分區:
- 選擇主分區(primary partition)類型,輸入’p’。
- 輸入分區號,這里選擇1。
- 輸入起始扇區,默認為16,可以直接按回車鍵使用默認值。
- 輸入結束扇區或者分區大小,這里輸入’+32M’表示分區大小為32MB。
- 使用命令’n’再次創建一個新的分區:
- 選擇主分區(primary partition)類型,輸入’p’。
- 輸入分區號,這里選擇2。
- 輸入起始扇區,默認為65552,可以直接按回車鍵使用默認值。
- 輸入結束扇區或者分區大小,這里使用默認值15269887。
- 使用命令’t’設置分區類型:
- 輸入要設置類型的分區號,這里選擇1。
- 輸入十六進制代碼(Hex code),這里輸入’c’表示將分區1的系統類型設置為Win95 FAT32(LBA)。
- 使用命令’a’設置引導標志:
- 輸入要設置引導標志的分區號,這里選擇1。
- 使用命令’w’保存更改并退出:
- 確認分區表已經被修改,并且調用ioctl()重新讀取分區表。
- 提示分區表已經被修改,并成功保存更改。
最后,磁盤分區表將被修改,分區1被設置為Win95 FAT32(LBA)類型,并且設置為引導分區。
請注意,這些操作可能會對磁盤上的數據產生影響,請確保在進行此類操作之前備份重要數據。
四、磁盤格式化
磁盤格式化是指在磁盤上創建文件系統以準備存儲數據的過程。通過格式化,磁盤將被分區劃分為邏輯塊,并創建用于存儲和組織文件的文件系統結構。格式化磁盤將清除磁盤上的所有數據,并為其提供一個干凈的文件系統環境,使其可以開始存儲新的數據。
這里,我們將上面的兩個分區分別格式化為Fat32格式的文件系統和ext4格式的文件系統
- 將’/dev/mmcblk1p1’格式化為Fat32格式的文件系統
- 將’/dev/mmcblk1p2’格式化為ext4格式的文件系統
Fat32格式,使用命令如下:
mkfs.vfat?-F?32?-n?"boot"?/dev/mmcblk1p1
每個選項的含義解釋如下:
- -F 32:指定創建的文件系統類型為FAT32。
- -n MyVolume:設置卷標為”MyVolume”,該卷標將作為文件系統的名稱顯示。
- /dev/mmcblk1p1:是要格式化的設備或分區
ext4格式,使用命令如下:
mkfs.ext4?-F?-L?"rootfs"?/dev/mmcblk1p2 -/bin/sh:?mkfs.ext4:?not?found?
每個選項的含義解釋如下:
- -F:強制進行格式化,即使設備已經被掛載。
- -L “rootfs”:設置文件系統的標簽為”rootfs”,該標簽將作為文件系統的名稱顯示。
- /dev/mmcblk1p2:要格式化的設備或分區。
這里我們的文件系統不支持mkfs.ext4格式,但是可以使用它的孿生兄弟“mke2fs”,指令如下:
mke2fs?-F?-L?"rootfs"?/dev/mmcblk1p2 Filesystem?label=rootfs OS?type:?Linux Block?size=4096?(log=2) Fragment?size=4096?(log=2) 475136?inodes,?1900542?blocks 95027?blocks?(5%)?reserved?for?the?super?user First?data?block=0 Maximum?filesystem?blocks=4194304 58?block?groups 32768?blocks?per?group,?32768?fragments?per?group 8192?inodes?per?group Superblock?backups?stored?on?blocks: ????????32768,?98304,?163840,?229376,?294912,?819200,?884736,?1605632 /?#?
現在我們已經將上面的兩個分區格式化完成了,下一步就是掛載分區。
五、磁盤掛載
1.創建掛載點
首先,您需要選擇一個目錄作為掛載點。可以使用mkdir命令創建一個空目錄作為掛載點,例如:
mkdir?/mnt/boot
2.執行掛載命令
使用mount命令將文件系統掛載到指定的掛載點上,例如:
mount?/dev/mmcblk1p1?/mnt/boot
使用“df”指令查看是否掛載成功,命令如下:
/?#?df?-a Filesystem???????????1K-blocks??????Used?Available?Use%?Mounted?on /dev/root?????????????15141732????161948??14188824???1%?/ devtmpfs????????????????216388?????????0????216388???0%?/dev proc?????????????????????????0?????????0?????????0???0%?/proc tmpfs???????????????????249668?????????0????249668???0%?/tmp sysfs????????????????????????0?????????0?????????0???0%?/sys devpts???????????????????????0?????????0?????????0???0%?/dev/pts /dev/mmcblk1p1???????????32260?????????1?????32260???0%?/mnt/boot
很明顯已經’/dev/mmcblk1p1‘分區已經成功掛載到’/mnt/boot‘目錄下。
3.訪問文件系統
現在,可以通過掛載點來訪問和操作文件系統中的文件和目錄。
例如,您可以使用cd命令進入掛載點,并使用其他文件操作命令進行文件的讀取、寫入等操作:
cd?/mnt/boot touch?test.txt
然后掉電重啟開發板,再次查看’/mnt/boot’下是否有test.txt文件:
/?#?ls?/mnt/boot/ /?#?
很明顯是沒有test.txt文件,磁盤的’/dev/mmcblk1p1’分區未進行掛載到’/mnt/boot’目錄下,因此在’/mnt/boot’下是看不到test.txt文件的。
/?#?df?-a Filesystem???????????1K-blocks??????Used?Available?Use%?Mounted?on /dev/root?????????????15141732????161948??14188824???1%?/ devtmpfs????????????????216388?????????0????216388???0%?/dev proc?????????????????????????0?????????0?????????0???0%?/proc tmpfs???????????????????249668?????????0????249668???0%?/tmp sysfs????????????????????????0?????????0?????????0???0%?/sys devpts???????????????????????0?????????0?????????0???0%?/dev/pts
test.txt文件是保存在磁盤的’/dev/mmcblk1p1’分區,掉電后需要手動掛載到’/mnt/boot’該目錄下,才能查看到test.txt文件,如下:
/?#?mount?/dev/mmcblk1p1?/mnt/boot [??179.885442]?FAT-fs?(mmcblk1p1):?Volume?was?not?properly?unmounted.?Some?data?may?be?corrupt.?Please?run?fsck. /?#?ls?/mnt/boot/ test.txt /?#
另一個分區掛載如下:
mkdir?/mnt/rootfs mount?/dev/mmcblk1p2?/mnt/rootfs /?#?df?-h Filesystem????????????????Size??????Used?Available?Use%?Mounted?on /dev/root????????????????14.4G????158.2M?????13.5G???1%?/ devtmpfs????????????????211.3M?????????0????211.3M???0%?/dev tmpfs???????????????????243.8M?????????0????243.8M???0%?/tmp /dev/mmcblk1p1???????????31.5M???????512?????31.5M???0%?/mnt/boot /dev/mmcblk1p2????????????7.1G?????20.0K??????6.8G???0%?/mnt/rootfs
六、開機自動掛載
1.設備路徑掛載
如果希望在系統啟動時自動掛載分區,可以編輯/etc/fstab文件并添加相應的條目。例如:
#???????????????? proc????????????/proc???????????proc????defaults????????0???????0 tmpfs???????????/tmp????????????tmpfs???defaults????????0???????0 sysfs???????????/sys????????????sysfs???defaults????????0???????0 /dev/mmcblk1p1??/mnt/boot???????vfat????defaults????????0???????0 /dev/mmcblk1p2??/mnt/rootfs?????ext4????defaults????????0???????0
重新啟動開發板,使用’df’命令查看是否自動掛載
/?#?df?-h Filesystem????????????????Size??????Used?Available?Use%?Mounted?on /dev/root????????????????14.4G????158.2M?????13.5G???1%?/ devtmpfs????????????????211.3M?????????0????211.3M???0%?/dev tmpfs???????????????????243.8M?????????0????243.8M???0%?/tmp /dev/mmcblk1p1???????????31.5M???????512?????31.5M???0%?/mnt/boot /dev/mmcblk1p2????????????7.1G?????20.0K??????6.8G???0%?/mnt/rootfs
ok,自動掛載成功。
2.UUID掛載
另一種掛載方法,這里在教大家使用UUID來進行自動掛載,如下:
獲取分區的UUID:使用以下命令各分區的UUID:
/?#?blkid? /dev/mmcblk0p2:?LABEL="rootfs"?UUID="4bdc82c7-5e83-4992-9966-cd99a2317944"?TYPE="ext4" /dev/mmcblk0p1:?LABEL="boot"?UUID="DF8D-2A71"?TYPE="vfat" /dev/mmcblk1p2:?LABEL="rootfs"?UUID="54b75bd6-7cdf-4e80-aa48-1af163bf61f3"?TYPE="ext2" /dev/mmcblk1p1:?TYPE="vfat"
編輯/etc/fstab文件并添加相應的條目。例如:
#???????????????? proc????????????/proc???????????proc????defaults????????0???????0 tmpfs???????????/tmp????????????tmpfs???defaults????????0???????0 sysfs???????????/sys????????????sysfs???defaults????????0???????0 UUID=54b75bd6-7cdf-4e80-aa48-1af163bf61f3???/mnt/rootfs?ext4?defaults?0?0
保存后,重啟開發板,成功自動掛載,如下:
/?#?df?-h Filesystem????????????????Size??????Used?Available?Use%?Mounted?on /dev/root????????????????14.4G????158.2M?????13.5G???1%?/ devtmpfs????????????????211.3M?????????0????211.3M???0%?/dev tmpfs???????????????????243.8M?????????0????243.8M???0%?/tmp /dev/mmcblk1p2????????????7.1G?????20.0K??????6.8G???0%?/mnt/rootfs
在掛載文件系統時,您可以使用設備路徑(如 /dev/mmcblk1p1)或文件系統的UUID來標識要掛載的分區。這兩種方法各有一些區別和好處:
1.設備路徑 (/dev/mmcblk1p1):
- 標識分區的路徑:使用設備路徑是一種直接而簡單的方法來標識要掛載的分區。它基于設備文件的物理路徑,可以明確地指定要掛載的分區。例如,’/dev/mmcblk1p1′ 表示第二個MMC類型的磁盤的第一個分區。
- 相對容易記憶:設備路徑通常較短且易于記憶,因為它們直接與設備文件的名稱相關。
但是,設備路徑可能會受到設備插入和拔出的影響。如果您的系統中存在多個磁盤或設備連接狀態發生變化,設備路徑可能會改變。
2.文件系統UUID:
- 標識分區的唯一性:每個文件系統都有一個唯一的UUID(通用唯一標識符),用于識別分區。UUID是在創建文件系統時生成的,并且是全局唯一的。它不受設備連接狀態的影響,因此即使設備路徑發生變化,UUID仍將保持不變。
- 穩定性和持久性:使用UUID來掛載分區可以提供更穩定和持久的掛載方式,因為即使重新啟動系統或更改設備連接狀態,UUID標識的分區仍然可以準確地被找到。
- 更適合自動化和腳本:使用UUID可以更方便地進行自動化操作和腳本編寫,因為UUID提供了一個固定的標識符來唯一標識特定的分區。
總的來說,使用設備路徑或UUID進行掛載都是可行的方法,具體取決于您的需求和使用場景。如果您的系統中沒有頻繁插拔設備并且不涉及自動化操作,使用設備路徑可能更加簡單和直接。而如果您需要更穩定和持久的掛載方式,以及更適合自動化操作,使用UUID則更為可靠和推薦。
今天的內容到此就完了,感謝大家的收看,如有不正之處,歡迎批評指正,下期再見!