快速上手Linux核心命令(九):文件備份與壓縮

来源:https://www.cnblogs.com/xiezhr/archive/2023/04/28/17343249.html
-Advertisement-
Play Games

(文件備份與壓縮) 這期呢主要說一說Linux中文件備份與壓縮命令,一共6個命令。這6個命令都是平常工作中非常非常常用的。 tar 打包備份 1、簡介 tar 可以將多個文件壓縮打包、壓縮。是工作中經常用到的命令 2、語法格式 tar [參數選項] [文件或目錄] 3、參數說明 | 參數 | 參數說 ...


目錄

這期呢主要說一說Linux中文件備份與壓縮命令,一共6個命令。這6個命令都是平常工作中非常非常常用的。

tar 打包備份

1、簡介

tar 可以將多個文件壓縮打包、壓縮。是工作中經常用到的命令

2、語法格式

tar [參數選項] [文件或目錄]

3、參數說明

參數 參數說明
z 通過gzip壓縮或解壓
c 創建新的tar包
v 顯示詳細的tar命令執行過程
f 指定壓縮文件名字
t 不解壓查看tar包的內容
p 保持文件的原有屬性
j 通過bzip2命令壓縮或解壓
x 解開tar包
C 指定解壓的目錄路徑
--exclude=PATTERN 打包時排除不需要處理的文件或目錄
-h 打包軟連接文件指向的真實源文件
-hard-dereference 打包硬鏈接文件

4、實踐操作

① 打包博客文件(將/home/hexoBlog 打包成hexoBlog.tar.gz)

[root@xiezhr home]# tar zcvf hexoBlog.tar.gz hexoBlog
hexoBlog/
hexoBlog/page/
hexoBlog/page/3/
hexoBlog/page/3/index.html
hexoBlog/page/2/
hexoBlog/page/2/index.html
hexoBlog/contact/
hexoBlog/contact/index.html
hexoBlog/baidusitemap.xml
hexoBlog/movies/
hexoBlog/movies/index.html
hexoBlog/images/
hexoBlog/images/0.jpg
hexoBlog/images/2020年年終總結.jpg
hexoBlog/archives/
hexoBlog/archives/87a8e6ef.html
hexoBlog/archives/93a2b0e4.html
hexoBlog/archives/b55ad976.html
hexoBlog/archives/page/
hexoBlog/archives/page/3/

[root@xiezhr home]# ll 
drwxr-xr-x 30 git    git        4096 Jun  6 20:42 hexoBlog
-rw-r--r--  1 root   root   43478804 Jun 14 22:43 hexoBlog.tar.gz

② 不解壓查看壓縮包的內容

[root@xiezhr home]# tar ztvf hexoBlog.tar.gz 
drwxr-xr-x git/git           0 2022-06-06 20:42 hexoBlog/
drwxr-xr-x git/git           0 2022-02-26 16:43 hexoBlog/page/
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/page/3/
-rw-r--r-- git/git       56427 2022-06-03 14:57 hexoBlog/page/3/index.html
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/page/2/
-rw-r--r-- git/git       63574 2022-06-03 14:57 hexoBlog/page/2/index.html
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/contact/
-rw-r--r-- git/git       43745 2022-06-03 14:57 hexoBlog/contact/index.html
-rw-r--r-- git/git        4169 2022-06-03 14:57 hexoBlog/baidusitemap.xml
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/movies/
-rw-r--r-- git/git       43246 2022-06-03 14:57 hexoBlog/movies/index.html
drwxr-xr-x git/git           0 2021-02-13 19:32 hexoBlog/images/
-rw-r--r-- git/git      570852 2020-11-29 16:42 hexoBlog/images/0.jpg
-rw-r--r-- git/git      133945 2021-02-13 19:32 hexoBlog/images/2020年年終總結.jpg
drwxr-xr-x git/git           0 2022-06-06 20:42 hexoBlog/archives/
-rw-r--r-- git/git       97587 2022-06-03 14:57 hexoBlog/archives/87a8e6ef.html

③ 解壓文件到指定目錄

[root@xiezhr home]# tar -zxvf hexoBlog.tar.gz -C /home/test/
hexoBlog/
hexoBlog/page/
hexoBlog/page/3/
hexoBlog/page/3/index.html
hexoBlog/page/2/
hexoBlog/page/2/index.html
hexoBlog/contact/
hexoBlog/contact/index.html
hexoBlog/baidusitemap.xml
hexoBlog/movies/
hexoBlog/movies/index.html
hexoBlog/images/
hexoBlog/images/0.jpg
hexoBlog/images/2020年年終總結.jpg
hexoBlog/archives/
hexoBlog/archives/87a8e6ef.html

[root@xiezhr home]# cd /home/test/
[root@xiezhr test]# ll
total 1
drwxr-xr-x 30 git    git      4096 Jun  6 20:42 hexoBlog

④ 排除指定文件後打包

# hexoBlog/books 目錄下的文件將被排除後打包
[root@xiezhr home]#  tar zcvf hexoBlog.tar.gz  hexoBlog --exclude=hexoBlog/books
hexoBlog/
hexoBlog/page/
hexoBlog/page/3/
hexoBlog/page/3/index.html
hexoBlog/page/2/
hexoBlog/page/2/index.html

⑤ 使用-h參數打包鏈接文件

[root@xiezhr etc]# tar zcfh local_h.tar.gz ./rc.local 
[root@xiezhr etc]# tar tfv local_h.tar.gz 
-rwxr-xr-x root/root       749 2022-03-22 09:10 ./rc.local

tar 使用小結

  • 打包一個目錄時,一般需要進入到目錄的上級目錄,然後再執行打包命令。解壓時需要非常註意,文件是否會覆蓋原文件

  • 打包記憶:**tar zcvf /路徑/籃子.tar.gz 相對路徑/雞蛋 ** 【把雞蛋放到籃子里】

gzip 壓縮或解壓文件

1、簡介

gzip 命令用於將一個大的文件通過壓縮演算法變成一個小文件。

註意: gzip 命令不能直接壓縮目錄,如果要壓縮目錄時,先要用tar 將目錄打包成一個文件,然後tar 再調用gzip壓縮

2、語法格式

gzip [參數選項] [文件]

3、參數說明

參數 參數說明
-d 解壓文件
-v 顯示命令執行的過程
-l 列出壓縮文件的內容信息
-c 將內容輸出到標準輸出,不改變原始文件
-r 對目錄下的所有文件遞歸進行壓縮
-數字<1-9> 指定壓縮率,預設是6,值越大壓縮率越高
-t 測試,檢查壓縮文件是否完整

4、實踐操作

① 把目錄下的每個文件都單獨壓縮成.gz文件

[root@xiezhr dir3]# ls
a.txt  b.txt  c.txt  money.java  test.java  test.txt  tt.txt  user.java  xiezhr.java  xiezhr.txt
[root@xiezhr dir3]# gzip *.txt
[root@xiezhr dir3]# ls
a.txt.gz  b.txt.gz  c.txt.gz  money.java  test.java  test.txt.gz  tt.txt.gz  user.java  xiezhr.java  xiezhr.txt.gz

② 不解壓顯示壓縮文件信息

[root@xiezhr dir3]# gzip -l xiezhr.txt.gz 
         compressed        uncompressed  ratio uncompressed_name
                 31                   0   0.0% xiezhr.txt

③解壓文件,並顯示解壓過程

[root@xiezhr dir3]# ls
a.txt.gz  b.txt.gz  c.txt.gz  money.java  test.java  test.txt.gz  tt.txt.gz  user.java  xiezhr.java  xiezhr.txt.gz
[root@xiezhr dir3]# gzip -dv *.gz
a.txt.gz:         0.0% -- replaced with a.txt
b.txt.gz:         0.0% -- replaced with b.txt
c.txt.gz:         0.0% -- replaced with c.txt
test.txt.gz:     15.9% -- replaced with test.txt
tt.txt.gz:        0.0% -- replaced with tt.txt
xiezhr.txt.gz:    0.0% -- replaced with xiezhr.txt
[root@xiezhr dir3]# ls
a.txt  b.txt  c.txt  money.java  test.java  test.txt  tt.txt  user.java  xiezhr.java  xiezhr.txt

註: 以上實踐我們看到gzip命令在壓縮和解壓文件時,都會把源文件刪除。當然也有其他方法可以解決這個問題,但是使用起來有點麻煩。

zip 打包和壓縮文件

1、簡介

zip 壓縮格式是Windows和Linux通用的壓縮格式。和gzip命令相比,zip命令壓縮文件不會刪除源文件,還可以壓縮目錄。所以相比gzip命令,我們使用zip命令會更多一些

2、語法格式

zip [參數選項] [文件或目錄]

3、參數說明

參數 參數說明
-r 指定目錄下的所有文件和子目錄一併壓縮
-x 壓縮文件時排除某個文件
-q 不顯示壓縮信息

4、實踐操作

① 壓縮文件

[root@xiezhr testdir]# ls
xiezhr.txt
[root@xiezhr testdir]# zip xiezhr.zip xiezhr.txt 
  adding: xiezhr.txt (deflated 17%)
[root@xiezhr testdir]# ls
xiezhr.txt  xiezhr.zip

②壓縮目錄

# 這裡只將testdir這個目錄壓縮了,目錄下的文件並沒有壓縮
[root@xiezhr test]# zip testdir.zip ./testdir/
  adding: testdir/ (stored 0%)
# 使用-r參數可以將目錄及目錄下的文件也遞歸壓縮了
[root@xiezhr test]# zip -r testdir.zip ./testdir/
updating: testdir/ (stored 0%)
  adding: testdir/xiezhr.txt (deflated 17%)

③ 排除壓縮

# 將abc.txt 文件排除到壓縮之外
[root@xiezhr testdir]# ll
total 8
-rw-r--r-- 1 root root  49 Jun 26 16:01 abc.txt
-rw-r--r-- 1 root root 527 Jun 26 15:50 xiezhr.txt
[root@xiezhr testdir]# cd ..
[root@xiezhr test]# zip -r testdir.zip ./testdir/ -x testdir/abc.txt 
updating: testdir/ (stored 0%)
updating: testdir/xiezhr.txt (deflated 17%)xxxxxxxxxx -[root@xiezhr testdir]# lltotal 8-rw-r--r-- 1 root root  49 Jun 26 16:01 abc.txt-rw-r--r-- 1 root root 527 Jun 26 15:50 xiezhr.txt[root@xiezhr testdir]# cd ..[root@xiezhr test]# zip -r testdir.zip ./testdir/ -x testdir/abc.txt updating: testdir/ (stored 0%)updating: testdir/xiezhr.txt (deflated 17%)shell

unzip 解壓zip文件

1、簡介

unzip 命令可以解壓zip格式的文件,一般與zip配套使用

2、語法格式

unzip [參數選項] [壓縮文件]

3、參數選項

參數 參數說明
-l 在不解壓的情況下顯示壓縮包的內容
-o 解壓時不提示是否覆蓋文件
-d 指定解壓目錄
-v 解壓時顯示詳細信息

4、實踐操作

①不解壓查看壓縮包里的文件

[root@xiezhr test]# unzip -l testdir.zip 
Archive:  testdir.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  06-26-2022 16:01   testdir/
      527  06-26-2022 15:50   testdir/xiezhr.txt
---------                     -------
      527                     2 files

② 解壓文件

# 不帶參數解壓文件時,會提示是否覆蓋文件
# [y]es, [n]o, [A]ll, [N]one, [r]ename  
# y--是  n--否  A--所有文件都替換 N--所有文件都不替換 r--重命名
[root@xiezhr test]# unzip testdir.zip 
Archive:  testdir.zip
replace testdir/xiezhr.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: testdir/xiezhr.txt 
# -o 參數,解壓時不提示覆蓋
[root@xiezhr test]# unzip -o testdir.zip 
Archive:  testdir.zip
  inflating: testdir/xiezhr.txt 

③ 指定解壓目錄解壓文件

# 將testdir.zip 解壓到指定目錄dir7下
[root@xiezhr test]# mkdir dir7
[root@xiezhr test]# unzip -d /home/test/dir7/ testdir.zip 
Archive:  testdir.zip
   creating: /home/test/dir7/testdir/
  inflating: /home/test/dir7/testdir/xiezhr.txt  
[root@xiezhr test]# cd dir7/
[root@xiezhr dir7]# ls
testdir

scp 遠程文件複製

1、簡介

scp 命令用於不同主機之間文件複製。scp命令每次都是全量完整複製,因此效率不高,適合第一次複製時候使用,增量複製建議使用rsync命令

2、語法格式

scp [參數選擇] [用戶@主機1:文件1] [用戶@主機2:文件2]

3、參數選項

參數 參數說明
-C 壓縮傳輸
-l 指定傳輸占用的寬頻,單位Kbit/s
-P 指定傳輸的埠號
-p 傳輸後保留文件原始屬性
-q 不顯示傳輸進度
-r 遞歸複製整個目錄

4、實踐操作

① 將本地文件或目錄複製到遠程伺服器

[root@xiezhr ~]# scp  /home/test/xie.txt  42.192.46.248:/tmp
[email protected]'s password: 

② 從遠程伺服器將數據複製到本地

[root@xiezhr ~]# scp 42.192.21.248:/tmp .

rsync 文件同步工具

1、簡介

rsync 可以實現全量或增量的文件複製的開源工具。 可以在本地電腦與遠程電腦之間,或者兩個本地目錄之間同步文件 。 它也可以當作文件複製工具,替代cpmv命令

2、語法格式

# 1、本地模式
rsync [參數選項] [源文件] [目標文件]
# 2、遠程同步模式
# 拉取文件
rsync [參數選項] [用戶@主機:源文件] [目標文件]
# 推送文件
rsync [參數選項] [源文件] [用戶@主機:目標文件]

3、參數選項

參數 參數說明
-r 遞歸方式同步目錄
-a 可以替代-r參數,除了可以遞歸同步,還可以同步文件屬性(修改時間、許可權等)
-n 不確定 rsync 執行後會產生什麼結果,可以先用-n參數模擬執行結果
--delete 使目標目錄內容和源保持目錄一致,刪除不同文件
--exclude 同步時,排除不需要的文件或目錄
--include 同步時,必須包含的文件

4、實踐操作

註: 有些Linux系統中可能沒有預設安裝rsync ,我們只需按照如下命令安裝即可

yum -y install rsync

① 將當前目錄下的hexoBlog 同步到 dir7目錄下

[root@xiezhr test]# rsync -r hexoBlog/ dir7/hexoBlog
[root@xiezhr test]# cd dir7/
[root@xiezhr dir7]# ll
total 4
drwxr-xr-x 30 root root 4096 Jun 29 20:54 hexoBlog

② 將當前目錄下的logo.png 和hexoBlog 同步到dir8/test 目錄下

[root@xiezhr test]# rsync -r logo.png hexoBlog/  dir8/test
[root@xiezhr test]# cd dir8/test/
[root@xiezhr test]# ll
total 1420
drwxr-xr-x  2 root root   4096 Jun 29 21:00 about
drwxr-xr-x  6 root root   4096 Jun 29 21:00 archives
drwxr-xr-x  2 root root   4096 Jun 29 21:00 artitalk

註: -r表示遞歸,即包含子目錄。註意,-r是必須的,否則 rsync 運行不會成功

③-a 參數,遞歸同步,同步修改時間、許可權等信息

# rsync -a hexoBlog hexoBlog_new
# 目標目錄hexoBlog_new 如果不存在,rsync 會自動創建。
# 執行上面的命令後,源目錄hexoBlog被完整地複製到了目標目錄hexoBlog_new下麵,hexoBlog_new/hexoBlog的目錄結構。

[root@xiezhr test]# ll
total 16
drwxr-xr-x  2 xiezhr xiezhr 4096 Mar 26 21:46 dir
drwxr-xr-x 30 git    git    4096 Jun  6 20:42 hexoBlog
-rw-r--r--  1 root   root     35 May  9 21:36 xie.txt
-rw-r--r--  1 root   root    527 Apr  9 10:55 xiezhr.txt
[root@xiezhr test]# rsync -a hexoBlog hexoBlog_new
[root@xiezhr test]# ll
total 20
drwxr-xr-x  2 xiezhr xiezhr 4096 Mar 26 21:46 dir
drwxr-xr-x 30 git    git    4096 Jun  6 20:42 hexoBlog
drwxr-xr-x  3 root   root   4096 Jul  2 09:15 hexoBlog_new
-rw-r--r--  1 root   root     35 May  9 21:36 xie.txt
-rw-r--r--  1 root   root    527 Apr  9 10:55 xiezhr.txt

#如果只想同步源目錄 hexoBlog 裡面的內容到目標目錄hexoBlog_new,則需要在源目錄後面加上斜杠。
[root@xiezhr test]# rsync -a hexoBlog/ hexoBlog_new
#上面命令執行後,hexoBlog目錄裡面的內容,就都被覆制到了hexoBlog_new目錄裡面,並不會在hexoBlog_new下麵創建一個hexoBlog子目錄。

-n 參數模擬執行結果

註: 如果不確定 rsync 執行後會產生什麼結果,可以先用-n 參數模擬執行結果

[root@xiezhr test]# rsync -anv xie.txt testdir
sending incremental file list
xie.txt

sent 49 bytes  received 19 bytes  136.00 bytes/sec
total size is 35  speedup is 0.51 (DRY RUN)

# -n參數模擬命令執行的結果,並不真的執行命令。-v參數則是將結果輸出到終端,這樣就可以看到哪些內容會被同步。

--delete 參數的使用,保持源目錄和目標目錄文件一致

[root@xiezhr test]# rsync -av --delete hexoBlog hexoBlog_0702
sending incremental file list
created directory hexoBlog_0702
hexoBlog/
hexoBlog/Staticfile.txt
hexoBlog/baidu_urls.txt
hexoBlog/baidusitemap.xml
hexoBlog/favicon.png
hexoBlog/tags/問卷調查/index.html

sent 63,638,655 bytes  received 8,246 bytes  42,431,267.33 bytes/sec
total size is 63,597,216  speedup is 1.00

註: 預設情況下,rsync 只確保源目錄的所有內容(明確排除的文件除外)都複製到目標目錄。它不會使兩個目錄保持相同,並且不會刪除文件。使用--delete參數,這將刪除只存在於目標目錄、不存在於源目錄的文件。

--exclude 參數 的使用,同步時排除某些文件

[root@xiezhr test]# rsync -av --exclude '*.txt' hexoBlog hexoBlog_test
sending incremental file list
created directory hexoBlog_test
hexoBlog/
hexoBlog/baidusitemap.xml
hexoBlog/favicon.png
hexoBlog/favicon1.png
hexoBlog/tags/問卷調查/index.html

sent 63,638,026 bytes  received 8,208 bytes  127,292,468.00 bytes/sec
total size is 63,596,717  speedup is 1.00

註: 上面腳本將hexoBlog 目錄下除了.txt外的文件都同步到了hexoBlog_test 目錄下

--include 參數的使用,同步時必須包含某些文件

[root@xiezhr test]# rsync  -av --include "*.txt" --exclude "*" hexoBlog hexo_xie
sending incremental file list

sent 18 bytes  received 12 bytes  60.00 bytes/sec
total size is 0  speedup is 0.00

註:上述命令將hexoBlog目錄下的所有文件排除,但包含txt文件同步到hexo_xie目錄下

⑧遠程同步資源

註: rsync 命令除了可以本地同步之外,還支持遠程同步資源

# 以下命令是將本地資源source 同步到遠程伺服器destination
[root@xiezhr test]# rsync -av source/ username@remote_host:destination
# 以下命令是將遠程伺服器資源source同步到本地 destination
[root@xiezhr test]# rsync -av username@remote_host:source/ destination

由於博主比較窮,手上只有一臺雲伺服器,這裡就沒法做具體演示了

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

-Advertisement-
Play Games
更多相關文章
  • 哈嘍大家好,我是鹹魚 之前寫了一篇關於文獻爬蟲的文章Python爬蟲實戰(5) | 爬取知網文獻信息 文章發佈之後有很多小伙伴給出了一些反饋和指正,在認真看了小伙伴們的留言之後,鹹魚對代碼進行了一些優化 優化的代碼在文末,歡迎各位小伙伴給出意見和指正 問題 pycharm 設置 Edge 驅動器的環 ...
  • 中間件基礎: 在.net6.0在請求在響應給請求者之前會通過請求管道再處理服務端的邏輯然後再響應給請求者,而請求管道則是由一系列中間件組成的有點類似於過濾器,為了更直觀的瞭解,我們請看下圖: 它可以決定是否將請求傳遞給請求管道中下一個中間件,也可以處理下一個中間件之前的邏輯也可以處理下一個中間件之後 ...
  • 隨著技術的發展,ASP.NET Core MVC也推出了好長時間,經過不斷的版本更新迭代,已經越來越完善,本系列文章主要講解ASP.NET Core MVC開發B/S系統過程中所涉及到的相關內容,適用於初學者,在校畢業生,或其他想從事ASP.NET Core MVC 系統開發的人員。 經過前幾篇文章... ...
  • dotnet ef是Entity Framework Core(EF Core)的一個命令行工具,用於管理EF Core應用程式的資料庫和代碼。除了提供管理資料庫的命令之外,dotnet ef還可以生成和管理實體和上下文代碼。本文將介紹如何使用dotnet ef動態生成代碼。 一、環境準備 1、項目 ...
  • 上位機開發過程中,格式轉換是必不可少的重要環節,經常是十進位轉十六進位、十六進位轉`byte`數組又轉換回來來迴轉換,最然進位轉換很基礎同時 C# 也提供了很多直接方便進行格式轉換的方法,但是封裝一個工具類會方便很多,不用每次都手寫代碼邏輯,之前一直都是簡單的自己寫,稍複雜的就用前輩寫好的直接調用,... ...
  • PDF邊距是頁面主要內容區域和頁面邊緣之間的距離。與Word頁邊距不同,PDF文檔的頁邊距很難更改。因為Adobe沒有提供操作頁邊距的直接方法。但是,您可以通過縮放頁面內容來改變頁邊距。本文將介紹如何在不更改頁面大小的情況下使用C#/VB.NET 代碼調整PDF文檔的頁邊距。 增加PDF文檔的頁邊距 ...
  • 我習慣性使用OData,它的$expand與層級查詢非常好用,這個功能非常依賴於資料庫的導航屬性,也就是外鍵結構。最近想著把一個單體的系統拆分為多個小系統,首先需要處理外鍵依賴的問題。 多個服務各自有各自的資料庫,資料庫層面並不互通,也就無法使用外鍵約束。 我使用EF Core來描述資料庫的結構,有 ...
  • 作者:小牛呼嚕嚕 | https://xiaoniuhululu.github.io 大家好,我是呼嚕嚕,在先前的一篇文章電腦中數值和字元串怎麼用二進位表示?中,我們知道了電腦為什麼會採用 0 和 1 組成的二進位,來表示所有的信息,比如機器指令、數字、字元串、聲音、圖片、視頻等等。 我們本篇文 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...