Linux運維--磁碟&shell編程基礎

来源:https://www.cnblogs.com/lilz/archive/2018/08/07/9438866.html
-Advertisement-
Play Games

目錄 1 磁碟知識體繫結構... 4 1.1 第一層... 4 1.1.1 磁碟結構... 4 1.1.1.1 硬碟的分類... 5 1.1.1.2 磁碟介面的特點... 6 1.1.1.2.1 磁碟介面的外部特點... 6 1.1.1.2.2 磁碟介面的特點:... 6 1.1.1.2.3 磁碟如 ...


 

 

目錄

1     磁碟知識體繫結構... 4

1.1          第一層... 4

1.1.1       磁碟結構... 4

1.1.1.1           硬碟的分類... 5

1.1.1.2           磁碟介面的特點... 6

1.1.1.2.1        磁碟介面的外部特點... 6

1.1.1.2.2        磁碟介面的特點:... 6

1.1.1.2.3        磁碟如何選擇... 7

1.1.1.3           磁碟內部結構... 7

1.1.1.3.1        計算磁碟大小... 8

1.1.1.3.2        磁碟分區... 9

1.1.1.3.2.1    硬碟分區命名規則... 10

1.1.1.3.2.2    創建分區... 10

1.1.1.3.2.2.1   fdisk方法一... 10

1.1.1.3.2.2.2   parted方法二... 12

1.1.1.3.2.2.2.1    非互動式... 12

1.1.1.3.2.2.2.2    互動式:... 12

1.1.1.3.3        格式化(創建文件系統make filesystem)... 12

1.1.1.3.4        關閉磁碟分區自動檢查功能... 13

1.1.1.3.5        掛載... 13

1.1.1.3.6        永久掛載... 13

1.2          raid 磁碟冗餘陣列... 14

1.2.1       磁碟冗餘陣列的作用... 14

1.2.2       Raid特點... 14

1.2.2.1    Raid0. 15

1.2.2.2    Raid1. 15

1.2.2.3    Raid 5. 15

1.2.2.4    Raid10. 16

1.3          增加swap. 16

1.3.1       增加swap. 17

1.3.2       臨時激活swap文件... 17

1.3.3       查看swap由什麼組成... 17

1.3.4       取消文件的swap功能... 17

1.3.5       永久增加swap,重啟伺服器後生效... 18

1.4          查看系統性能的命令... 18

1.4.1       查看CPU性能... 18

1.4.2       查看記憶體信息... 21

1.4.3       查看負載... 21

2     Shell 22

2.1          變數的分類... 22

2.1.1       全局變數... 22

2.1.2       局部變數... 22

2.1.3       特殊變數... 22

 

 

 

1       磁碟知識體繫結構

 

1.1   第一層

1.1.1  磁碟結構

 

1.1.1.1  硬碟的分類

參考:https://jingyan.baidu.com/article/d5c4b52b9aaf55da560dc5ad.html

硬碟三大種類(SSD;HHD;HDD)
  
固態硬碟(Solid State Drive:
用固態電子存儲晶元陣列而製成的硬碟,由控制單元和存儲單元(FLASH晶元、DRAM晶元)組成。固態硬碟在介面的規範和定義、功能及使用方法上與普通硬碟的完全相同,在產品外形和尺寸上也完全與普通硬碟一致。被廣泛應用於軍事、車載、工控、視頻監控、網路監控、網路終端、電力、醫療、航空、導航設備等領域。
 
優點:讀寫速度快;防震抗摔性;低功耗;無噪音;工作溫度範圍大;輕便
缺點:容量小;壽命有限;售價高
  
混合硬碟(hybrid harddriveHHD: 是既包含傳統硬碟又有快閃記憶體(flashmemory)模塊的大容量存儲設備。快閃記憶體處理存儲中寫入或恢復最頻繁的數據。很多公司開始提供這項技術的變體,他們期望它會在高端系統中受到追捧,尤其是在筆記本電腦和個人數字助理中。
  
相比傳統硬碟,混合硬碟(hybrid hard drive,HHD)有很多優點,包括:
應用中的數據存儲與恢復更快,如文字處理機
系統啟動時間減少
功耗降低
生成熱量減少
硬碟壽命延長
筆記本和PAD的電池壽命延長
工作雜訊級別降低
 
混合硬碟(hybrid hard drive,HHD)的不足包括:
硬碟中數據的尋道時間更長
硬碟的自旋變化更頻繁
快閃記憶體模塊處理失敗,不可能進行其中的數據恢復
系統的硬體總成本更高
  
傳統硬碟(HDDHard Disk Drive的縮寫):
即硬碟驅動器的英文名。最基本的電腦存儲器,我們電腦中常說的電腦硬碟
C盤、D盤為磁碟分區都屬於硬碟驅動器。目前硬碟一般常見的磁碟容量為80G、128G、160G、256G、320G、500G、750G、1TB、2TB等等。硬碟按體積大小可分為3.5寸、2.5寸、1.8寸等;按轉數可分為5400rpm/7200rpm/10000rpm等;
  
SSD和HDD的比較
 
在過去10年中,CPU的性能提升了150倍以上,而傳統硬碟才提升了1.5倍不到,這種不均衡的發展,極大的影響了整體性能的提升,尤其在I/O方面,而且SSD(固態硬碟)相比起傳統硬碟,它沒有磁頭,馬達,磁碟等一系列的零件,搭載NAND Flash晶元作為存儲介質,在運行速度,功耗,輕便等方面是傳統硬碟所無法比擬的。
 
目前傳統硬碟因為成本低廉等因素依然占據著硬碟市場的主要份額,然而隨著SSD的成本不斷的降低,技術不斷提升與系統更好的支持等因素,而且目前主流的筆記本電腦也都均配置SATA和mSATA
介面,包括目前的超極本(Ultrabook)也只有搭載SSD才可能實現“更輕,更快,更低功耗,未來取代傳統硬碟也是大勢所趨

 

1.1.1.2  磁碟介面的特點

1.1.1.2.1         磁碟介面的外部特點

 

1.1.1.2.2         磁碟介面的特點:

參考:https://jingyan.baidu.com/article/636f38bb7a8dced6b84610bc.html

SCSI硬碟主要應用於中、高端伺服器和高檔工作站中。其特點為:傳輸速率高、讀寫性能好、可連接多個設備、可支持熱插拔,但是價格相對來說比較貴。

 

SATA(Serial ATA)口的硬碟又叫串口硬碟,是未來PC機硬碟的趨勢。Serial ATA採用串列連接方式,串列ATA匯流排使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串列介面還具有結構簡單、支持熱插拔的優點。

 

SAS是sata和SCSI的結合

 

1.1.1.2.3         磁碟如何選擇

 

1.1.1.3  磁碟內部結構

 

如下圖所示,是磁頭、磁軌、扇區、柱面

 

 

扇區是硬碟最小的單位

系統最小的單位是block

 

1.1.1.3.1         計算磁碟大小

磁碟大小=柱面大小*柱面數量

柱面大小=磁軌大小*磁頭數量

磁碟大小=扇區大小512*扇區數量

 

[root@localhost ~]# fdisk  -l /dev/sda

 

255 heads, 63 sectors/track, 2610 cylinders

 

------>512*63*255*2610

[root@localhost ~]# echo 512*63*255*2610|bc

21467980800

[root@localhost ~]# awk 'BEGIN{print 512*63*255*2610/1024^3"GB"}'

19.9936GB

[root@oldboyedu-48-lnb ~]# echo  "scale=5;512*63*255*2610/1024^3"|bc

19.99361

[root@oldboyedu-48-lnb ~]# echo $((103/2))  $[3**30]

51 205891132094649

[root@oldboyedu-48-lnb ~]# expr 1 + 2

3

1.1.1.3.2         磁碟分區

MBR,全稱為 Master Boot Record,即硬碟的 主引導記錄

  為了便於理解,一般將MBR分為廣義和狹義兩種:廣義的MBR包含整個扇區( 引導程式分區表及分隔標識),也就是上面所說的 主引導記錄;而狹義的MBR僅指 引導程式而言。

  硬碟的0柱面、0磁頭、1扇區稱為主引導扇區(也叫主引導記錄MBR)。它由三個部分組成,主引導程式、硬碟分區表DPT(Disk Partition table)和硬碟有效標誌(55AA)。在總共512位元組的主引導扇區里 主引導程式(boot loader占446個位元組,第二部分是Partition table區(分區表),即DPT,占64個位元組,硬碟中分區有多少以及每一分區的大小都記在其中。第三部分是magic number,占2個位元組,固定為55AA。

 

 

1.1.1.3.2.1   硬碟分區命名規則

 

第1塊sas硬碟的第一個主分區     /dev/sda 1 

第2塊sata硬碟的第2個主分區    /dev/sdb 2

第3塊sata硬碟的第1個邏輯分區  /dev/sdc 5

1.1.1.3.2.2        創建分區

 

1.1.1.3.2.2.1  fdisk方法一

[root@localhost ~]# fdisk -cu /dev/sdb

-u:按照扇區進行分區

-c:取消dos相容模式

 

p:print 顯示分區信息

n :new  創建分區

d:delete 刪除分區

w:write 保存退出

q:quit 退出不保存

題:

創建1個10M主分區    創建一個使用剩餘所有容量的擴展分區    創建一個 20M的邏輯分區 

[root@localhost ~]# fdisk -cu /dev/sdb

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First sector (2048-417791, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-417791, default 417791): +10

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

e

Partition number (1-4): 2

First sector (2059-417791, default 2059):

Using default value 2059

Last sector, +sectors or +size{K,M,G} (2059-417791, default 417791):

Using default value 417791

 

Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l

First sector (4107-417791, default 4107):

Using default value 4107

Last sector, +sectors or +size{K,M,G} (4107-417791, default 417791): +20M

 

Command (m for help): p

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048        2058           5+  83  Linux

/dev/sdb2            2059      417791      207866+   5  Extended

/dev/sdb5            4107       45066       20480   83  Linux

Command (m for help): w

通知系統磁碟分區表磁碟分區表變化了

[root@localhost ~]# partprobe /dev/sdb

 

1.1.1.3.2.2.2  parted方法二

將磁碟格式變成gpt的格式(因為parted只能針對gpt格式的磁碟進行操作)

   轉換:

(parted) mklabel  gpt

   分區:

(parted) mkpart  primary  1  500                  (分第一個主分區500MB,primary是分區名)

 

   分區:

(parted) mkpart  primary  501  1000              (分第二個主分區500MB)

   分區:

(parted) mkpart  logical  1001  2000              (分第三個邏輯分區1000MB)  (parted的邏輯分區不用先分擴展分區,直接一步到位)

   查看:

(parted) p

   退出:

(parted)quit             ( parted分區自動保存,不用手動保存 )

1.1.1.3.2.2.2.1  非互動式

[root@localhost ~]# parted /dev/sdb mktable gpt

                                                                     

[root@localhost ~]# parted /dev/sdb  mkpart primary 0 10

1.1.1.3.2.2.2.2  互動式:

1.1.1.3.3         格式化(創建文件系統make filesystem)

文件系統就是管理這塊文件的機制

 

[root@localhost ~]# mkfs.ext4 /dev/sdb1

1.1.1.3.4         關閉磁碟分區自動檢查功能

root@localhost ~]# tune2fs -c 0 -i 0 /dev/sdb1

-c:count

-i:interval

1.1.1.3.5         掛載

[root@localhost ~]# mount /dev/sdb1  /mnt/

[root@localhost ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       18G  4.4G   12G  28% /

tmpfs                 491M   72K  491M   1% /dev/shm

/dev/sda1             477M   36M  417M   8% /boot

/dev/sr0              3.7G  3.7G     0 100% /media

/dev/sdb1             9.7M  100K  9.0M   2% /mnt

1.1.1.3.6         永久掛載

法一:/etc/rc.local

法二:/etc/fstab開機自動掛載

[root@localhost ~]# tail /etc/fstab |column -t

 

proc                                     

 /proc     

 proc       

  defaults       

0       

   0

設備名稱(磁碟分區名稱  光碟)

掛載點

文件系統類型

掛載參數,預設default

備份

檢查

/dev/cdrom

/mnt

Iso9660

Defaults

0

0

 

1.2   raid 磁碟冗餘陣列

1.2.1  磁碟冗餘陣列的作用

得到更高的容量

得到更高的冗餘

得到更高的性能

 

RAID是“Redundant Array of Independent Disk”的縮寫

RAID是一種把多塊獨立的硬碟(物理硬碟)按不同的方式組合起來形成一個硬碟組(邏輯硬碟),從而提供比單個硬碟更高的存儲性能和提供數據備份技術。根據磁碟陳列的不同組合方式,可以將RAID分為不同的級別。 其中提高傳輸速率和提供容錯功能是最大的優點。其特色是N台硬碟同時讀取速度加快及提供容錯性Fault Tolerant,所以RAID主要是解決訪問數據的存儲速度問題(Storage)不是備份問題(Backup Solution)。

1.2.2  Raid特點

 

 

 

1.2.2.1  Raid0

 

同時訪問多個磁碟這樣訪問讀取速度加快。在系統眼中,raid0這幾塊盤是一塊盤。

1.2.2.2  Raid1

又叫鏡像盤,只能有兩塊硬碟,另一塊作為備份使用。

 

1.2.2.3  Raid 5

每寫3個信息,下麵就有一個校驗信息,作用就是當一塊硬碟壞了,通過奇偶校驗恢復

 

如上圖顯示raid5的存儲數據的特點,,我們一般做raid5的時候加一塊熱備盤。

1.2.2.4  Raid10

 

Raid10的寫入數據原理如上圖一樣,但並不是先做成raid1後做成raid0而是直接做成raid10.

註意raid10是兩塊兩塊擴展。

 

1.3   增加swap

記憶體不足,使用swap,swap不足增加swap

 

 

1.3.1  增加swap

查看記憶體:

[root@localhost ~]# free -h

             total            used       free     shared    buffers     cached

Mem:          980M       403M            577M       1.1M        59M       147M

                         -( buffer+cache)  +(buffer+cache)

-/+ buffers/cache:       196M       784M

Swap:         1.9G         0B       1.9G

 

-------->linux把用過的文件 數據臨時緩存起來

 

[root@localhost ~]# dd   if=/dev/zero     of=/tmp/100m   bs=1M        count=100

[root@localhost ~]#

[root@localhost ~]# mkswap  /tmp/100m    轉成swap

1.3.2  臨時激活swap文件

 

[root@localhost ~]# swapon /tmp/100m

 

[root@localhost ~]# free -h

             total       used       free     shared    buffers     cached

Mem:          980M       507M       473M       1.1M        59M       247M

-/+ buffers/cache:       199M       781M

Swap:         2.0G         0B       2.0G

 

1.3.3  查看swap由什麼組成

[root@localhost ~]# swapon -s 

1.3.4  取消文件的swap功能

[root@localhost ~]# swapoff /tmp/100m

 

1.3.5  永久增加swap,重啟伺服器後生效

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

 

/tmp/100m            swap                     swap     defaults     0  0

 

 

1.4   查看系統性能的命令

 

1.4.1  查看CPU性能

Cpu的路、顆、核、線程的理解

路就是顆,相當於房子,核相當於房間里的人,“核”是在一物理CPU內部封裝的CPU核心數量,線程相當於人同時做的事情。

[root@localhost ~]# lscpu    查看cpu信息

Architecture:          i686                            #架構686
CPU(s):                2                                   #邏輯cpu顆數是2
Thread(s) per core:    1                           #每個核心線程數是1                 
Core(s) per socket:    2                           #每個cpu插槽核數/每顆物理cpu核數是2
CPU socket(s):         1                            #cpu插槽數是1
Vendor ID:             GenuineIntel           #cpu廠商ID是GenuineIntel
CPU family:            6                              #cpu系列是6
Model:                 23                                #型號23
Stepping:              10                              #步進是10
CPU MHz:               800.000                 #cpu主頻是800MHz
Virtualization:        VT-x                         #cpu支持的虛擬化技術VT-x(對此在下一博文中解釋下http://hi.baidu.com/sdusoul/blog/item/5d8e0488def3a998a5c272c0.html)
L1d cache:             32K                         #一級緩存32K(google了下,這具體表示表示cpu的L1數據緩存為32k)
L1i cache:             32K                          #一級緩存32K(具體為L1指令緩存為32K)
L2 cache:              3072K                      #二級緩存3072K

socket就是主板上插cpu的槽的數目,也就是可以插入的物理CPU的個數。

core就是我們平時說的“核“,每個物理CPU可以雙核,四核等等。

thread就是每個core的硬體線程數,即超線程

 

[root@localhost ~]# cat /proc/cpuinfo

physical id   : 0

processor     : 0   (應該是邏輯CPU)

siblings         : 1

core id          : 0

cpu cores     : 1

  1. 擁有相同 physical id 的所有邏輯處理器共用同一個物理插座,每個 physical id 代表一個唯一的物理封裝。

 2. Siblings 表示位於這一物理封裝上的邏輯處理器的數量,它們可能支持也可能不支持超線程(HT)技術。
 3. 每個 core id 均代表一個唯一的處理器內核,所有帶有相同 core id 的邏輯處理器均位於同一個處理器內核上。簡單的說:“siblings”指的是一個物理CPU有幾個邏輯                      CPU,”cpu cores“指的是一個物理CPU有幾個核。
4. 如果有一個以上邏輯處理器擁有相同的 core id 和 physical id,則說明系統支持超線程(HT)技術。
 5. 如果有兩個或兩個以上的邏輯處理器擁有相同的 physical id,但是 core id不同,則說明這是一個多內核處理器。cpu cores條目也可以表示是否支持多內核。

[root@localhost ~]# top

top - 09:44:56 up 16 days, 21:23,  1 user,  load average: 9.59, 4.75, 1.92
Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
Cpu(s): 99.8%us,  0.1%sy,  0.0%ni,  0.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4147888k total,  2493092k used,  1654796k free,   158188k buffers
Swap:  5144568k total,       56k used,  5144512k free,  2013180k cached

解釋:

  • top - 09:44:56[當前系統時間],
  • 16 days[系統已經運行了16天],
  • 1 user[個用戶當前登錄],
  • load average: 9.59, 4.75, 1.92[系統負載,即任務隊列的平均長度]
  • Tasks: 145 total[總進程數],
  • 2 running[正在運行的進程數],
  • 143 sleeping[睡眠的進程數],
  • 0 stopped[停止的進程數],
  • 0 zombie[凍結進程數],
  • Cpu(s): 99.8%us[用戶空間占用CPU百分比],
  • 0.1%sy[內核空間占用CPU百分比],
  • 0.0%ni[用戶進程空間內改變過優先順序的進程占用CPU百分比],
  • 0.2%id[空閑CPU百分比], 0.0%wa[等待輸入輸出的CPU時間百分比],
  • 0.0%hi[],
  • 0.0%st[],
  • Mem: 4147888k total[物理記憶體總量],
  • 2493092k used[使用的物理記憶體總量],
  • 1654796k free[空閑記憶體總量],
  • 158188k buffers[用作內核緩存的記憶體量]
  • Swap:  5144568k total[交換區總量],
  • 56k used[使用的交換區總量],
  • 5144512k free[空閑交換區總量],
  • 2013180k cached[緩衝的交換區總量],

[root@localhost ~]# htop

 

vmstat

1.4.2  查看記憶體信息

1)、cat /proc/meminfo
2)、free 命令
             total       used       free     shared    buffers     cached
Mem:      65973912   32496232   33477680          0     906932    6452984
-/+ buffers/cache:   25136316   40837596
Swap:     41943032      13204   41929828

 

top

1.4.3  查看負載

W

Top

Uptime

 

2       Shell

2.1   變數的分類

2.1.1  全局變數

又稱環境變數

 

2.1.2  局部變數

由數字、字母、下劃線組成,以字母、下劃線開頭

2.1.3  特殊變數

$0

腳本名

$數字

腳本的第幾個參數

$#

參數的個數

$?

上一個命令是否執行成功,0成功,非0失敗

 

 

 

[root@localhost test]# read -p "input  num :" num1

input  num :oldboyedu 

[root@localhost test]# echo $num1

oldboyedu

 

#書寫腳本 計算10和3的加減乘除 

[root@localhost test]# sh +x test.sh 10 3

13 7 30 3.33333

[root@localhost test]# cat test.sh

#!/bin/bash

awk -va=$1 -vb=$2 'BEGIN {print a+b,a-b,a*b,a/b}'

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • c#編寫的資料庫自動備份,windows服務,帶配置,帶服務,壓縮備份,定期清理備份等功能於一身 ...
  • 1. 簡介 "C 併發編程經典實例" 是一本關於使用C 進行併發編程的入門參考書,使用“問題 解決方案 討論”的模式講解了以下這些概念: 面向非同步編程的async和await 使用TPL(任務並行庫) 創建數據流管道的TPL Dataflow庫 基於LINQ的Reactive Extensions ...
  • 轉自:http://www.cnblogs.com/essenroc/p/8627775.html 這篇文章將介紹ASP.NET Core中使用 開源項目 Payment,實現接入支付寶-電腦網頁支付介面及同步跳轉及非同步通知功能。 開發環境:Win 10 x64、VS2017 15.6.4、.NET ...
  • 概述 Commond-Line ASP.NET結構文件 Startup 配置文件 中間件和依賴註入 依賴註入原理 框架自帶的依賴註入(IServiceCollection) 依賴註入生命周期 依賴註入使用方式 通過構造函數 MVC的ActionAction中可以使用 [FromServices]來註 ...
  • WinForm載入多個自定義控制項時,會出現很嚴重的閃爍問題 解決辦法: 在調用自定義控制項的窗體內添加的: 在自定義控制項中添加的: ...
  • 辭職在家休息,買了台新電腦,裝個虛擬機,安裝visual studio, android studio, qt, everything, noptepad++,hbuilder,ditto,xx-net這些神器之後裝了vmware station 14 裝了ubuntu18.04 用的過程中發現不能 ...
  • 用戶許可權:drwxr-x . 8 root root 4096 8月 6 23:18 mnt 第一個root:所有者 即root用戶第二個root:所有者所在的組mnt:所有者創建的文件夾Rwx:root用戶對mnt具有讀、寫、執行的許可權R-x:root組內用戶對mnt具有讀、執行許可權 :其他用戶對 ...
  • 第1章 文件訪問過程詳解 1.1 文件訪問過程 第2章 許可權 2.1 對於文件rwx含義 r讀取文件內容 w修改文件內容 需要r許可權配合 只有w許可權的時候,強制保存退出會導致源文件內容丟失 x許可權表示是否能執行腳本 需要r許可權配合 2.2 對於目錄rwx含義 r 顯示目錄內容 需要x許可權配合 w 是 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...