RHEL8_Linux硬盤管理

主要介紹Linux磁盤管理

  • 了解分區的概念
  • 對硬盤進行分區
  • 常見的分區
  • swap分區的管理

1.了解分區的概念

1)新的硬盤首先需要對其進行分區和格式化,下面來了解以下硬盤的結構,如圖。

2)硬盤的磁盤上有一個個圈,每兩個圈組成一個磁道。從中間往外發射線,把每個磁道分成 一個個扇區,每個扇區的大小是512B。為了更好地理解,我們把所有磁盤拼接起來,如圖

????????假設磁盤有10000個扇區,第一個分區從2048到6000,第二個分區從6001到 8000,第三個分區從8001到10000。
????????每個扇區只能屬于一個分區,不能同時屬于多個分區。
????????第一個扇區比較特殊,叫作 MBR(主引導記錄)。
????????分區類型包括主分區、擴展分區和邏輯分區,如圖。

????????一套房子出租,李四和王五從房東手中直接各租一間自住,這個屬于主分區。

????????趙六從房東手中租過來一個大間,但自己不住做起了二房東(擴展分區),然后隔成很多隔間。趙六租的那一個大間就是擴展分區,大間里隔開的一些隔間就是邏輯分區。

  1. 主分區:直接從硬盤上劃分,并可以直接格式化使用的分區。
  2. 擴展分區:直接從硬盤上劃分,但是不直接使用的分區。
  3. 邏輯分區:在擴展分區上劃分的分區。
????????分區表記錄主分區和擴展分區的信息,如同房東從李四、王五、趙六手中收房租一樣,但是收不到tom、bob等的房租,tom、bob等的房租由趙六來收,因為趙六是二房東。
????????每記錄一個分區(主分區或擴展分區)要消耗16B,所以分區表最多只能記錄4個分區,硬盤最多只能劃分出來4個分區,且最多只能有一個擴展分區。

?????? ??請關閉虛擬機并自行為虛擬機添加一塊SCSI格式的硬盤,然后開機進入系統。

2.對磁盤進行分區

1)使用fdisk -l 命令查看所有分區信息,命令如下。
[root@aaa ~]# fdisk -l磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x000b8ab1設備 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節磁盤 /dev/mapper/centos_aaa-root:18.2 GB, 18249416704 字節,35643392 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節磁盤 /dev/mapper/centos_aaa-swap:2147 MB, 2147483648 字節,4194304 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節[root@aaa ~]#
????????此命令可以查看系統所有硬盤的信息,這里可以看到/dev/sda有兩個分區 /dev/sda1和/dev/sda2,/dev/sdb沒有任何分區。

2)如果想單獨查看某硬盤的分區信息,可以使 用“fdisk -l/dev/硬盤”命令。例如,想單獨查看/dev/sda的信息,則用fdisk -l /dev/sda命令,命令如下。
[root@aaa ~]# fdisk -l /dev/sda磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x000b8ab1設備 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
[root@aaa ~]# 
????????這里可以獲取到很多信息,例如,整個sda有多少個扇區,每個分區從哪個扇區開始到個扇區結束等。

下面開始練習分區,自行添加一個類型為SCSI、大小為40G的分區

3)分區的語法為“fdisk /devl/硬盤”,這里是對硬盤進行分區,而不是對分區再進行分區。
[root@aaa ~]# fdisk -l /dev/sdb磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節[root@aaa ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。Device does not contain a recognized partition table
使用磁盤標識符 0x12a28aec 創建新的 DOS 磁盤標簽。命令(輸入 m 獲取幫助):

此處進入分區的界面,按提示輸入 “m” 可以獲取幫助命令,常用的命令如下。

  • p:打印分區表
  • n:添加一個分區
  • d:刪除一個分區
  • l:列出分區類型
  • t:轉換分區類型
  • q:不保存退出
  • w:保存退出
4)查看現有分區信息,此處輸入 “p” 命令如下
命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x12a28aec設備 Boot      Start         End      Blocks   Id  System命令(輸入 m 獲取幫助):
5)此處并沒有看到/dev/sdb1、/dev/sdb2等內容,說明并不存在任何分區。 按【n】鍵創建一個分區,命令如下
命令(輸入 m 獲取幫助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
????????直接在硬盤上劃分的分區有主分區(標記為p)和擴展分區(標記為e),邏輯分區(標記為 1)只能在擴展分區上創建,且擴展分區最多只能創建一個擴展分區。
????????所以,在硬盤中沒有擴展分區時,選擇分區類型時只能選擇p和e這兩種。如果已經存在了擴展分區,就不能再創建第二個擴展分區了,但可以在擴展分區上創建邏輯分區,所以可選擇的分區類型有p和e。
6)先創建主分區或擴展分區都可以,這里先創建主分區,輸入“p”,按【Enter】鍵。主分區加擴展分區最多只能創建出來4個,所以分配的編號只能是1~4,這里選擇默認的1,然后按【Enter】鍵。
命令(輸入 m 獲取幫助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分區號 (1-4,默認 1):
7)硬盤總共有41943039個扇區,第一個分區從哪個扇區開始呢?默認為2048,直接按【Enter】鍵,我們就從2048扇區開始。
起始 扇區 (2048-83886079,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-83886079,默認為 83886079):
????????這里N的位置得寫一個結束點,假設要創建2G的分區,從2048扇區開始算,到哪個扇區結束能使得分區大小是2G呢?如圖所示。

8)現在計算一下:2G=2×1024M=2×1024× 1024K=2×1024×1024×2扇區(1扇區 =0.5K),所以一共需要2×1024×1024×2=4194304個扇區。從2048扇區開始算,最后一個 扇區應該落在2048+4194304-1=4196351的位置,這樣創建出來的分區就是2G,所以圖中琪與4196351。
起始 扇區 (2048-83886079,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-83886079,默認為 83886079):+2G
分區 1 已設置為 Linux 類型,大小設為 2 GiB命令(輸入 m 獲取幫助):
9)創建2G分區后,輸入 “p” 查看分區信息,命令如下。
命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x12a28aec設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux命令(輸入 m 獲取幫助):
10)可以看出,從2048開始,共4194304個扇區,在4196351這個位置結束,大小為2G。但是這種創建分區的方法比較麻煩,可以先輸人“d”,按【Fnter】鍵,刪除此分區,命令如下。
命令(輸入 m 獲取幫助):d        //此處輸入d表示刪除分區
已選擇分區 1
分區 1 已刪除命令(輸入 m 獲取幫助):
11)因為sdb1是唯一的分區,所以刪除的就是sdb1,然后重復上面的方法重新創建分區,命令如下。
命令(輸入 m 獲取幫助):n
Partition type:        //分區類型p   primary (0 primary, 0 extended, 4 free)        //主分區e   extended            //擴展分區
Select (default p): p        //默認選擇p
分區號 (1-4,默認 1):
12)因為并不需要關心分區到哪個扇區結束,只關心分區大小,所以這里可以寫+2G,意思是從2048扇區開始劃分一個2G大小的分區,命令如下。
起始 扇區 (2048-83886079,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-83886079,默認為 83886079):+2G
分區 1 已設置為 Linux 類型,大小設為 2 GiB命令(輸入 m 獲取幫助):
13)然后輸人“p”查看分區信息、命令如下。
命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x12a28aec設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux命令(輸入 m 獲取幫助):

可以看到,手動計算出來的一樣,通過這種方式劃分分區就容易多了。

14)再創建一個主分區/dev/sda2,大小為4G,命令如下。
命令(輸入 m 獲取幫助):n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): p
分區號 (2-4,默認 2):
起始 扇區 (4196352-83886079,默認為 4196352):
將使用默認值 4196352
Last 扇區, +扇區 or +size{K,M,G} (4196352-83886079,默認為 83886079):+4G
分區 2 已設置為 Linux 類型,大小設為 4 GiB命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x12a28aec設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    12584959     4194304   83  Linux命令(輸入 m 獲取幫助):
15)創建一個擴展分區/dev/sda4,把剩余所有空間全部給它(這里故意沒有創建/dev/sda3),命令如下。
命令(輸入 m 獲取幫助):n
Partition type:p   primary (2 primary, 0 extended, 2 free)e   extended
Select (default p): e
分區號 (3,4,默認 3):4
起始 扇區 (12584960-83886079,默認為 12584960):
將使用默認值 12584960
Last 扇區, +扇區 or +size{K,M,G} (12584960-83886079,默認為 83886079):
將使用默認值 83886079
分區 4 已設置為 Extended 類型,大小設為 34 GiB命令(輸入 m 獲取幫助)
16)輸入 “p” 查看分區信息,命令如下。
命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x12a28aec設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    12584959     4194304   83  Linux
/dev/sdb4        12584960    83886079    35650560    5  Extended命令(輸入 m 獲取幫助):
17)創建擴展分區后,就可以創建邏輯分區了,我們看到了編號3并未使用,所以現在還可以 創建一個主分區,但是硬盤已經沒有多余的空間,所以不能再創建主分區只能創建邏輯分區, 邏輯分區的編號是從5開始,命令如下。
命令(輸入 m 獲取幫助):n
Partition type:p   primary (2 primary, 1 extended, 1 free)l   logical (numbered from 5)
Select (default p): l
添加邏輯分區 5
起始 扇區 (12587008-83886079,默認為 12587008):
將使用默認值 12587008
Last 扇區, +扇區 or +size{K,M,G} (12587008-83886079,默認為 83886079):+4G
分區 5 已設置為 Linux 類型,大小設為 4 GiB命令(輸入 m 獲取幫助):
18)按照此方法再創建幾個分區
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    12584959     4194304   83  Linux
/dev/sdb4        12584960    83886079    35650560    5  Extended
/dev/sdb5        12587008    20975615     4194304   83  Linux
/dev/sdb6        20977664    29366271     4194304   83  Linux
/dev/sdb7        29368320    37756927     4194304   83  Linux
19)看上面最右側的兩列:Id和類型,這兩列是對應的。因為分區的作用不一樣,所以有的可以直 接格式化使用,有的用于創建swap,有的用于創建邏輯卷等。這些類型是可以轉換的,輸 入字母l可以看到所有類型,如圖所示。

3.常見的分區

1)常見分區類型如下。
  1. Linux:對應的id為83,直接格式化使用的分區。
  2. Linux swap:對應的id為82,用于創建swap。
  3. Linux LVM:對應的id為8e,用于創建LV
  4. Linux raid:對應的id為fd,用于創建fd
2)使用相同的方法,把/dev/sdb6、/dev/sdb7的分區類型也轉變為Linux LVM. 為13.2節做準備,把/dev/sdb2的分區類型改為 Linux swap,輸入“t”,命令如下。
命令(輸入 m 獲取幫助):t    
分區號 (1,2,4-7,默認 7):2
Hex 代碼(輸入 L 列出所有代碼):82
已將分區“Linux”的類型更改為“Linux swap / Solaris”命令(輸入 m 獲取幫助):
3)然后輸入 “p” 查看分區信息。
命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x12a28aec設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    12584959     4194304   82  Linux swap / Solaris
/dev/sdb4        12584960    83886079    35650560    5  Extended
/dev/sdb5        12587008    20975615     4194304   83  Linux
/dev/sdb6        20977664    29366271     4194304   83  Linux
/dev/sdb7        29368320    37756927     4194304   83  Linux命令(輸入 m 獲取幫助):
4)現在所做的一切并沒有真的保存,如果不想保存直接退出,可以輸人“q”并按【Enter】鍵;如果想保存并退出,可以輸入“w”并按【Enter】鍵,命令如下。
命令(輸入 m 獲取幫助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@aaa ~]# 
5)有時需要執行partprobe /dev/sdb命令來刷新一下分區表,然后使用fdisk命令進行查看,命令如下

4.交換分區

????????在物理內存不夠用的情況下,系統會把物理內存中那些長時間沒有操作的數據釋放出來, 保存在交換分區(swap)中,這樣物理內存中就有多余的空間,用于存放新的數據。
????????如果物理內存不夠了可以使用swap分區,那么如果swap分區也不夠了呢?我們就可以添加swap分區。下面就來講講如何管理swap分區。
1.查看當前系統中所有的swap分區,命令如下。
[root@aaa ~]# swapon -s
文件名				類型		大小	已用	權限
/dev/dm-1         	partition 2097148	 0	     -2
[root@aaa ~]# 
????????可以看到,當前/dev/sda2是交換分區,大小是4G。這里的權限是,如果有多個swap分區,優先使用哪個,數值越大越優先。查看swap分區也可以使用cat /proc/swaps命令。下面開始創建swap分區,步驟如下。
1)把/dev/sdb2創建為swap分區,命令如下。
[root@aaa ~]# mkswap /dev/sdb2
正在設置交換空間版本 1,大小 = 4194300 KiB
無標簽,UUID=2b8f0521-b2d9-4fda-9161-8718138ab8af
[root@aaa ~]# 
2)激活新創建的swap 分區,命令如下。
[root@aaa ~]# swapon /dev/sdb2 
[root@aaa ~]# swapon -s
文件名				類型		大小	已用	權限
/dev/dm-1                              	partition	2097148	0	-2
/dev/sdb2                              	partition	4194300	0	-3
[root@aaa ~]# 
????????可以看到,此時已經有兩個交換分區了。其中/dev/sdb2的權限為-3,說明/devIsda2優先使用。如果想設置讓/dev/sdb2優先使用,可以調整/dev/sdb2的優先級。

3)關閉新創建的swap分區,命令如下。
[root@aaa ~]# swapoff /dev/sdb2
4)激活swap分區,并指定優先級,命令如下。
[root@aaa ~]# swapon -p 2 /dev/sdb2 
[root@aaa ~]# swapon -s
文件名				類型		大小	已用	權限
/dev/dm-1                              	partition	2097148	0	-2
/dev/sdb2                              	partition	4194300	0	2
[root@aaa ~]#
????????可以看到,/dev/sdb2的權限是2,所以這個交換分區會優先使用
????????上面設置的這個交換分區也只是臨時生效,如果要讓其重啟系統之后仍然生效,就需要寫
入/etc/fstab中。
5)編輯/etc/fstab,在最后一行添加,命令如下。
[root@aaa ~]# tail -1 /etc/fstab 
/dev/sdb1 		none				swap     defaults,pri=2 0 0
????????上面每個字段用空格或【Tab】鍵隔開均可,第四列defaults后面的逗號兩邊沒有空格。如果不需要指定優先級,第四列直接寫 defaults 即可。
????????如果/dev/sdb2當前沒有激活,則在寫入/etc/fstab之后,執行swapon -a命令即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212225.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212225.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212225.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JVM虛擬機系統性學習-類加載子系統

類加載子系統 類加載的時機 類加載的時機主要有 4 個: 遇到 new、getstatic、putstatic、invokestatic 這四條字節碼指令時,如果對應的類沒有初始化,則要先進行初始化 new 關鍵字創建對象時讀取或設置一個類型的靜態字段時(被 …

javaSwing酒店管理系統

一、 使用方法: 在使用前,需要到druid.properties 配置文件中,修改自己對應于自己數據庫的屬性;如用戶名,密碼等 driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql:///hotel?useUnicodetrue&characterEn…

midwayjs從零開始創建項目,連接mikro-orm框架(必須有java的springboot基礎)

前言: 我一直都是用java的springboot開發項目,然后進來新公司之后,公司的后端是用node.js,然后框架用的是 midwayjs ,然后網上的資料比較少,在此特地記錄一波 文檔: 1.官方文檔:介紹…

vue 前端crypto-js 如何實現加密解密

npm 安裝 crypto-js 引用 import CryptoJS from "crypto-js"; 或者 import CryptoJS from "crypto-js"; //秘鑰 var aesKey "s10dfc3321ba59abbe123057f20f883e"; //將秘鑰轉換成Utf8字節數組 var key CryptoJS.enc.Utf8.parse(aesKey); /…

Spring Boot 3.0 : 集成flyway數據庫版本控制工具

目錄 Spring Boot 3.0 : 集成flyway數據庫版本控制工具flyway是什么為什么使用flyway主要特性支持的數據庫: flyway如何使用spring boot 集成實現引入依賴配置sql版本控制約定3種版本類型 運行SpringFlyway 8.2.1及以后版本不再支持MySQL? 個人主頁: 【?…

常見web漏洞的流量分析

常見web漏洞的流量分析 文章目錄 常見web漏洞的流量分析工具sql注入的流量分析XSS注入的流量分析文件上傳漏洞流量分析文件包含漏洞流量分析文件讀取漏洞流量分析ssrf流量分析shiro反序列化流量分析jwt流量分析暴力破解流量分析命令執行流量分析反彈shell 工具 攻擊機受害機wi…

Unity DOTS中的baking(一) Baker簡介

Unity DOTS中的baking(一) Baker簡介 baking是DOTS ECS工作流的一環,大概的意思就是將原先Editor下的GameObject數據,全部轉換為Entity數據的過程。baking是一個不可逆的過程,原先的GameObject在運行時不復存在&#x…

leetcode 股票DP系列 總結篇

121. 買賣股票的最佳時機 你只能選擇 某一天 買入這只股票&#xff0c;并選擇在 未來的某一個不同的日子 賣出該股票。 只能進行一次交易 很簡單&#xff0c;只需邊遍歷邊記錄最小值即可。 class Solution { public:int maxProfit(vector<int>& prices) {int res …

Vue-安裝及安裝vscode相應插件

安裝Vue 安裝nodejs&#xff0c; 地址&#xff1a;https://nodejs.org/en 下載后直接安裝。 安裝后重新打開命令行工具&#xff0c;輸入 node -v PS C:\Users\zcl36> node -v v20.10.0 2. 安裝vue包npm install -g vue/cli安裝之后&#xff0c;你就可以在命令行中訪問 vue…

【git】關于git二三事

文章目錄 前言一、創建版本庫1.通過命令 git init 把這個目錄變成git可以管理的倉庫2.將修改的內容添加到版本庫2.1 git add .2.2 git commit -m "Xxxx"2.3 git status 2.4 git diff readme.txt3.版本回退3.1 git log3.2 git reset --hard HEAD^ 二、理解工作區與暫存…

操作系統內部機制學習

切換線程時需要保存什么 函數需要保存嗎&#xff1f;函數在Flash上&#xff0c;不會被破壞&#xff0c;無需保存。函數執行到了哪里&#xff1f;需要保存嗎&#xff1f;需要保存。全局變量需要保存嗎&#xff1f;全局變量在內存上&#xff0c;無需保存。局部變量需要保存嗎&am…

Leetcode—337.打家劫舍III【中等】

2023每日刷題&#xff08;五十二&#xff09; Leetcode—337.打家劫舍III 算法思想 實現代碼 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(null…

I.MX6ULL_Linux_驅動篇(46)linux LCD驅動

LCD 是很常用的一個外設&#xff0c;在Linux 下LCD 的使用更加廣泛&#xff0c;在搭配 QT 這樣的 GUI 庫下可以制作出非常精美的 UI 界面。本章我們就來學習一下如何在 Linux 下驅動 LCD 屏幕。 Linux 下 LCD 驅動簡析 Framebuffer 設備 先來回顧一下裸機的時候 LCD 驅動是怎…

前端入門:HTML初級指南,網頁的簡單實現!

代碼部分&#xff1a; <!DOCTYPE html> <!-- 上方為DOCTYPE聲明&#xff0c;指定文檔類型為HTML --> <html lang"en"> <!-- html標簽為整個頁面的根元素 --> <head> <!-- title標簽用于定義文檔標題 --> <title>初始HT…

單點登錄方案調研與實現

作用 在一個系統登錄后&#xff0c;其他系統也能共享該登錄狀態&#xff0c;無需重新登錄。 演進 cookie → session → token →單點登錄 Cookie 可以實現瀏覽器和服務器狀態的記錄&#xff0c;但Cookie會出現存儲體積過大和可以在前后端修改的問題 Session 為了解決Co…

【其他數學】結式 resultant

結式 resultant 2023年11月30日 #analysis 文章目錄 結式 resultant介紹Sylvester矩陣應用在消元中的應用傳遞函數的化簡 下鏈 介紹 結式用來計算曲線的交點、消元、找參數化曲線的隱含方程。 為了引出定義&#xff0c;思考如下問題&#xff1a; f ( x ) x 2 ? 5 x 6 g (…

UVM建造測試用例

&#xff08;1&#xff09;加入base_test 在一個實際應用的UVM驗證平臺中&#xff0c;my_env并不是樹根&#xff0c;通常來說&#xff0c;樹根是一個基于uvm_test派生的類。真正的測試用例都是基于base_test派生的一個類。 class base_test extends uvm_test;my_env e…

14-2(C++11)類型推導、類型計算

14-2&#xff08;C11&#xff09;類型推導、類型計算 類型推導auto關鍵字auto類型推斷本質auto與引用 聯用auto關鍵字的使用限制 類型計算類型計算分類與類型推導相比四種類型計算的規則返回值后置 類型推導 auto關鍵字 C98中&#xff0c;auto表示棧變量&#xff0c;通常省略…

Leetcode刷題筆記題解(C++):25. K 個一組翻轉鏈表

思路&#xff1a;利用棧的特性&#xff0c;K個節點壓入棧中依次彈出組成新的鏈表&#xff0c;不夠K個節點則保持不變 /*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) : val(x), next(nullptr) {}* };*/ #include <stack> class Solution { …

在國內,現在月薪1萬是什么水平?

看到網友發帖問&#xff1a;現在月薪1W是什么水平&#xff1f; 在現如今的情況下&#xff0c;似乎月薪過萬這個標準已經成為衡量個人能力的一個標準了&#xff0c;尤其是現在互聯網橫行的時代&#xff0c;好像年入百萬&#xff0c;年入千萬就應該是屬于大眾的平均水平。 我不是…