Linux入門基礎之 中

来源:https://www.cnblogs.com/duncan1863/archive/2019/09/13/11516096.html
-Advertisement-
Play Games

五、Linux 下獲取幫助 沒必要記住所有東西 Linux 提供了極為詳細的幫助工具及文檔,一定要養成查幫助文檔的習慣,可以大大減少需要記憶的東西並且提高效率 5.1、HELP 幾乎所有命令都可以使用 h 或 help 參數獲取使用方法、參數信息等。 5.2、MAN man 命令是 Linux 中最 ...


五、Linux 下獲取幫助

  • 沒必要記住所有東西
  • Linux 提供了極為詳細的幫助工具及文檔,一定要養成查幫助文檔的習慣,可以大大減少需要記憶的東西並且提高效率

5.1、HELP

  • 幾乎所有命令都可以使用 -h 或 --help 參數獲取使用方法、參數信息等。

5.2、MAN

  • man 命令是 Linux 中最為常用的幫助命令,將要獲取幫助的命令作為參數運行 man 命令就可以獲取相應的文檔幫助
  • man 文檔分為很多類型
部分 類型
1 用戶命令
2 內核參數調用
3 庫函數
4 特殊文件和設備
5 文件格式和規範
6 游戲
7 規範、標準和其他頁面
8 系統管理頁面
9 Linux 內核 API
  • man -k 關鍵字,可以用來查詢包含該關鍵字的文檔

5.3、INFO

  • info 與 man 類似,但是提供的信息更為詳細深入,以類似網頁的形式顯示
  • info 與 man 一樣都可以通過 “/+關鍵字” 方式進行搜索

5.4、DOC

  • 很多程式、命令都帶有詳細的文檔,以 TXT、 HTML、 PDF 等方式保存在 /usr/share/doc 目錄中,這些文檔是相應程式最為詳盡的文檔

六、用戶及許可權基礎

6.1、Linux 用戶基礎

6.1.1 用戶、組

  • 當我們使用 Linux 時,需要以一個用戶的身份登入,一個進程也需要以一個用戶的身份運行,用戶限制使用者或進程可以使用、不可以使用哪些資源。
  • 組用來方便組織管理用戶
    • 每個用戶擁有一個 UserID ,操作系統實際使用的是用戶 ID ,而非用戶名
    • 每個用戶屬於一個主組,屬於一個或多個附屬組
    • 每個組擁有一個 GroupID
    • 每個進程以一個用戶身份運行,並受該用戶可訪問的資源限制
    • 每個可登錄用戶擁有一個指定的 shell

6.1.2 用戶

  • 用戶 ID 為32位,從0開始,但是為了和老式系統相容,用戶 ID 限制在60000以下
  • 用戶分為以下三種:
    • -root 用戶:ID 為0的用戶為 root 用戶
    • 系統用戶:1~499
    • 普通用戶:500以上
  • 系統中的文件都有一個所屬用戶及所屬組
  • 使用 id 命令可以顯示當前用戶的信息
  • 使用 passwd 命令可以修改當前用戶密碼

6.1.3 相關文件

  • /etc/passwd 保存用戶信息
  • /etc/shadow 保存用戶密碼(加密的)
  • /etd/group 保存組信息

6.1.4 查看登錄的用戶

  • 命令 whoami 顯示當前用戶
  • 命令 who 顯示有哪些用戶已經登錄系統
  • 命令 w 顯示有哪些用戶已經登錄並且在乾什麼

6.1.5 創建一個用戶

  • 命令 useradd 用以創建一個新用戶
    • useradd nash_su , 這個命令會執行以下操作:
      • 1 在 /etc/passwd 中添加用戶信息
      • 2 如果使用 passwd 命令創建密碼,則將密碼加密保存在 /etc/shadow 中
      • 3 為用戶建立一個新的家目錄 /home/nash_su
      • 4 將 /etc/skel 中的文件複製到用戶的家目錄中
      • 5 建立一個與用戶用戶名相同的組,新建用戶預設屬於這個同名組
  • 命令 useradd 支持以下參數:
    • -d 家目錄
    • -s 登錄shell
    • -u userid
    • -g 主組
    • -G 附屬組(最多31個,用 “ , ”分隔)
    • 也可通過直接修改 /etc/passwd 的方式實現,但是不建議

6.1.6 修改用戶信息

  • 命令 usermod 用來修改用戶信息
    • usermod 參數 username
  • 命令 usermod 支持以下參數:
    • -l 新用戶名
    • -u 新 userid
    • -d 用戶家目錄位置
    • -g 用戶所屬主組
    • -G 用戶所屬附屬組
    • -L 鎖定用戶使其不能登錄
    • -U 解除鎖定

6.1.7 刪除用戶

  • 命令 userdel 用以刪除指定用戶:
    • userdel nash_su ( 保留用戶的家目錄 )
    • userdel -r nash_su ( 同時刪除用戶的家目錄 )

6.2、組

6.2.1 組

  • 幾乎所有操作系統都有組的概念,通過組,我們可以更加方便的歸類、管理用戶。一般來講,我們使用部門、職能或地理區域的分類方式來創建使用組。
    • 每個組有一個組 ID
    • 組信息保存在 /etc/group 中
    • 每個用戶擁有一個主組,同時還可以擁有最多31個附屬組

6.2.2 創建、修改、刪除組

  • 命令 groupadd 用以創建組
    • groupadd linuxcast
  • 命令 groupmod 用以修改組信息
    • groupmod -n newname oldname 修改組名
    • groupmod -g newGid oldGid 修改組 ID
  • 命令 groupdel 用以刪除組
    • groupdel linuxcast
  • 示例
    • 現在有三個部門,每個部門有兩個員工,下麵分別創建組和用戶
先創建組:
groupadd training
groupadd market
groupadd manage

再創建用戶:
useradd -G training nash_su
useradd -G training bob
useradd -G market alice
useradd -G market john
useradd -G manage steve
useradd -G manage david

6.3、Linux 許可權機制

6.3.1 許可權概念

  • 許可權是操作系統用來限制對資源訪問的機制,許可權一般分為 讀、寫、執行。系統中每個文件都擁有特定的許可權、所屬用戶及所屬組,通過這樣的機制來限制哪些用戶、哪些組可以對特定文件進行什麼樣的操作。
  • 每個進程都是以某個用戶的身份運行,所以進程的許可權與該用戶的許可權一樣,用戶的許可權大,該進程擁有的許可權就大。

6.3.2 文件許可權

  • Linux 中,每個文件擁有以下三種許可權:
許可權 對文件的影響 對目錄的影響
r (讀取) 可讀取文件內容 可列出目錄內容
w (寫入) 可以修改文件內容 可在目錄中創建刪除文件
x (執行) 可以作為命令執行 可訪問目錄內容
  • 目錄必須擁有 x 許可權,否則無法查看其內容

6.3.3 UGO

  • Linux 許可權基於 UGO 模型進行控制
    • U 代表 User ,G 代表 Group , O 代表 Other
    • 每一個文件的許可權基於 UGO 進行設置
    • 許可權三個一組(rwx),對應 UGO 分別設置
    • 每一個文件擁有一個所屬用戶和所屬組,對應 UG ,不屬於該文件所屬用戶或所屬組的使用 O 許可權
  • 命令 ls -l 可以查看當前目錄下文件的詳細信息
    • drwxr-xr-- 2 nash_su training 208 Oct 1 13:50 linuxcast.net
      • d : 文件類型
      • rwxr-xr-- : UGO
        • rwx : U 許可權
        • r-x : G 許可權
        • r-- : O 許可權
      • 2 : 鏈接數量
      • nash_su : U 所屬用戶
      • training : G 所屬組
      • 208 : 大小
      • Oct 1 13:50 : 時間
      • linuxcast.net : 文件名

6.3.4 修改文件所屬用戶、組

  • 命令 chown 用以改變文件的所屬用戶
    • chown nash_su linuxcast.net
    • -R 參數遞歸的修改目錄下的所有文件的所屬用戶
  • 命令 chgrp 用以改變文件的所屬組
    • chgrp nash_su linuxcast.net
    • -R 參數遞歸的修改目錄下的所有文件的所屬組

6.3.5 修改文件許可權

  • 命令 chmod 用以修改文件的許可權

    • chmod 模式 文件
  • 模式為如下格式:

    • u、g、o 分別代表用戶、組和其他
    • a 可以代指 ugo
    • +、- 代表加入或刪除對應許可權
    • r、w、x 代表三種許可權
  • 模式示例:

    • chmod u+rw linuxcast.net
    • chmod g-x linuxcast.net
    • chmod go+r linuxcast.net
    • chmod a-x linuxcast.net

  • 命令 chmod 也支持以數字方式修改許可權,三個許可權分別由上數字表示:

    • -r = 4 (2^2)
    • -w = 2 (2^1)
    • -x = 1 (2^0)
  • 使用數字表示許可權時,每組許可權分別為對應數字之和:

    • rw = 4+2 = 6
    • rwx = 4+2+1=7
    • r-x = 4+1=5
  • 所以,使用數字表示 ugo 許可權使用如下方式表示

    • chmod 660 linuxcast.net == rw-rw----
    • chmod 775 linuxcast.net == rwxrwxr-x
  • 實例:

    • 假設 LinuxCast.net 用戶、組如下:
    用戶
    training nash_su 、 bob
    market alice 、 john
    manage steve 、 david
    • 現要求為各部門、員工建立相應的工作文件夾,要求如下:
      • 所有目錄、文件保存在統一的一個文件夾下
      • 每個部門擁有一個獨立的文件夾
      • 不同部門之間不可訪問各自文件夾
      • 每個員工在所在部門文件夾下擁有一個所屬的文件夾
      • 同部門不同員工之間可以查看各自文件夾內容,但不可修改,用戶僅能夠修改自己的內容
groupadd training
groupadd market
groupadd manage

useradd -G training nash_su
useradd -G training bob
useradd -G market alice
useradd -G market john
useradd -G manage steve
useradd -G manage david

根目錄下創建文件夾:
mkdir linuxcast.net

cd linuxcast.net

mkdir training
mkdir market
mkdir manage

chgrp manage manage/
chgrp market market/
chgrp training training/

chmod o-rx manage/
chmod o-rx market/
chmod o-rx training/

cd training/
mkdir nash_su
mkdir bob
chown nash_su nash_su
chown bob bob
chgrp training bob
chgrp training nash_su
chmod o-rx bob
chmod o-rx nash_su

cd ..
cd market/
mkdir alice
mkdir john
chown alice alice
chown john john
chgrp market alice
chgrp market john
chmod o-rx alice
chmod o-rx john

cd ..
cd manage
mkdir steve
mkdir david
chown steve steve
chown david david
chgrp manage steve
chgrp manage david
chmod o-rx steve
chmod o-rx david

6.4、Linux 擴展許可權

6.4.1 預設許可權

  • 每一個終端都擁有一個 umask 屬性,來確定新建文件、文件夾的預設許可權
  • umask 使用數字許可權方式表示,如:022
  • 目錄的預設許可權是:777-umask
  • 文件的預設許可權是:666-umask
  • 一般,普通用戶的預設 umask 是002,root 用戶的預設 umask 是022
  • 也就是說,對於普通用戶來講:
    • 新建文件的許可權是:666-002=664
    • 新建目錄的許可權是:777-002=775
  • 命令 umask 用以查看設置 umask 值
    • umask 022

6.4.2 特殊許可權

  • 除了普通許可權以外,還有三個特殊許可權
許可權 對文件的影響 對目錄的影響
suid 以文件的所屬用戶身份執行,而非執行文件的用戶
sgid 以文件所屬組身份運行 在該目錄中創建的任意新文件的所屬組與該目錄的所屬組相同
sticky 對目錄擁有寫入許可權的用戶僅可以刪除其擁有的文件,無法刪除其他用戶所擁有的文件
  • 設置特殊許可權

    • 設置 suid : chmod u+s linuxcast.net
    • 設置 sgid : chmod g+s linuxcast.net
    • 設置 sticky : chmod o+t linuxcast.net
  • 與普通許可權一樣,特殊許可權也可以使用數字方式表示

    • -SUID = 4
    • -SGID = 2
    • -Sticky = 1
    • 所以,我們可以通過以下命令設置:
    chmod 4755 linuxcast.net

七、Linux 網路基本配置

7.1、網路基礎

7.1.1 網路編址

  • 網路編址就相當於身份證上的家庭住址和姓名,功能就是在互聯網中唯一的定位一臺設備,可以是電腦,可以是伺服器,也可以是其他一些網路服務設備等等

7.1.2 IP 編址

  • IP 編址是一個雙層編址方案,一個 IP 地址標識一個主機(或一個網卡介面)
  • 現在應用最為廣泛的是IPv4 編址,已經開始逐漸向 IPv6 編址切換
  • IPv4 地址為32位長,IPv6 地址為128位長
  • 一個 IPv4 地址分為兩個部分:網路部分 和 主機部分
  • 網路部分用來標識所屬區域,相當於身份證的地址;主機部分用來標識該區域中的哪個主機,相當於身份證的姓名。

7.1.3 IP 地址

  • IPv4 地址共32位,通常使用點分十進位方式表示
  • 整個 IP 地址分為4個部分,每個部分8位
  • 例如:
    • ​ 192 . 168 . 1 . 1
    • 11000000.10101000.00000001.00000001

7.1.4 子網掩碼

  • IPv4 地址的 32bit 分為網路部分和主機部分
  • 我們通過子網掩碼來確定網路部分的位數
  • 子網掩碼與 IP 地址一樣,擁有 32bit ,每一位與 IP 地址中的每一位一一對應
  • IP 地址中相對應子網掩碼中為1的部分為網路部分
  • 例如:

    IP: 192 . 168 . 1 . 1

​ 11000000.10101000.00000001.00000001

子網掩碼: 255 . 255 . 255 . 0

​ 11111111.11111111.11111111.00000000

  • 證明此 IP 地址前24位是網路部分,也就是說,與此 IP 地址處在同一網路的其他主機的 IP 地址前24位相同,以證明他們在同一網路
  • 例:通過比較網路部分是否相同來判斷是否處於同一網路

如上圖所示,有三個網段在三個區域,北京地區的網段是 192.168.1.0,/24 是子網掩碼的簡寫,代表前24位是網路部分,寫成點分十進位就是 255.255.255.0 ,主機A、B、C 都是屬於192.168.1.0 網段,/24 的子網掩碼代表A、B、C 或者其他主機只要是在這個網段之內,它的前24位或者前三部分必然都是 192.168.1 ,分別用 .1 、 .2 、.3 去標識這個網段中不同的主機。同樣,處於西安地區的網路是 172.16.1.0 ,也是 /24 的網路,表示這個網路當中所有主機的前3部分都是172.16.1 ,分別用 .1 、 .2 、 .3 去標識不同的主機。那上海地區的網路是 10.0.0.0 /8 ,也就是說第一個8位組或者點分十進位的第一部分或者二進位部分的前8位是用來規定網路部分的,這個網路中只要是以 10. 開頭的網路都屬於同一網段,如 10.0.0.1 , 10.1.1.1 ,10.100.32.45 等都是屬於這同一個網段。

7.1.5 同一個網路主機之間的通信

  • 同一個網路內主機之間的通信還需要用到一個編址就是 MAC 地址
  • MAC 地址就是用來在同一個網路之內的主機之間通信的,通常同一個網路之內主機都是直接連接的
  • ARP :地址解析協議

7.1.6 不同網路之間通信

  • 只要是去訪問不在同一網段的網路,都需要使用到路由器去轉發,路由器就是一個中間人的角色

7.1.7 路由

  • 在不同網路之間傳輸數據的功能叫做路由功能,一般有多個介面,連接到不同的網路中,並且通過路由表進行數據轉發,

  • 路由表
目標網路 子網掩碼 出介面
192.168.1.0 255.255.255.0 eth0
172.16.1.0 255.255.0.0 eth1
61.1.1.0 255.255.255.252 eth2
  • 通常指的網關就是路由器的 IP 。

7.1.8 功能變數名稱

  • IP 地址往往難以記憶,所以我們一般使用功能變數名稱進行管理,例如:www.baidu.com
  • 功能變數名稱分為三個部分,用 “ . ” 分隔
    • 類型 :標識此功能變數名稱的類型,如:com、net、org、edu、gov 等
    • 功能變數名稱 :功能變數名稱稱,如:baidu
    • 主機名:該域中的某台主機名稱,如:www
  • 功能變數名稱大小寫不敏感

  • 主機名是可以隨變起的,之所以大家都用 www 是因為約定俗成 www 是網頁伺服器,網頁伺服器也可以不叫這個名字,隨變叫什麼都可以

7.1.9 DNS

  • 每個功能變數名稱代表一個 IP ,而 DNS 服務就是用來在 IP 與功能變數名稱之間進行轉換的

7.1.10 基本網路參數

  • 要配置一個區域網通信的電腦:

    • IP 地址
    • 子網掩碼
  • 要配置一個跨網段通信的電腦:

    • IP 地址
    • 子網掩碼
    • 網關
  • 要配置一個可上網的電腦:

    • IP 地址
    • 子網掩碼
    • 網關
    • DNS

7.2、Linux 網路基礎配置

7.2.1 乙太網連接

  • 在 Linux 中,乙太網介面被命名為: eth0、eth1 等,0、1代表網卡編號
  • 通過 lspci 命令可以查看網卡硬體信息(如果是 usb 網卡,則可能需要使用 lsusb 命令)
  • 命令 ifconfig 用來查看介面信息
    • ifconfig -a 查看所有介面
    • ifconfig eth0 查看特定介面
  • 命令 ifup 、 ifdown 用來啟用、禁用一個介面
    • ifup eth0
    • ifdown eth0

7.2.2 配置網路信息

  • 使用 setup 命令可以配置網路信息,配置一個或多個網卡步驟如下,
    • setup -> Network configuration -> Device configuration -> eth0...(如果是多個網卡,第二次這個頁面選擇 New Device ) -> 按下鍵選到 Use DHCP 按空格鍵,預設選擇的* 會消失掉 ,Static IP 輸入:192.168.1.210,Netmask 輸入:255.255.255.0,Default gateway IP 輸入:192.168.1.1,Primary DNS Server 輸入:61.134.1.4,還可以配置多個 DNS ,在 Secondary DNS Server 輸入:210.30.19.40,設置完成後選擇 OK 鍵,Select A Device 頁面選擇 Save 保存,再選擇 SaveQuit 保存退出,最後選擇 Quit 退出。(輸入的 IP 地址要根據自己的實際情況輸入!)
  • 配置完成後,使用 ifup 啟用網卡,並使用 ifconfig 命令查看信息
    • ifup eth0

7.2.3 網路相關配置文件

  • 網卡配置文件
    • /etc/sysconfig/network-scripts/ifcfg-eth0
  • DNS 配置信息
    • /etc/resolv.conf
  • 主機名配置文件
    • /etc/sysconfig/network
  • 靜態主機名配置文件
    • /etc/hosts

7.2.4 網路測試命令

  • 測試網路連通性 ( Ctrl + C 結束 )
    • ping 192.168.1.1
    • ping www.linuxcast.net
  • 測試 DNS 解析
    • host www.linuxcast.net
    • dig www.linuxcast.net
  • 顯示路由表
    • ip route
  • 追蹤到達目的地址的網路路徑
    • traceroute www.linuxcast.net
    • traceroute www.douban.com
  • 使用 mtr 進行網路質量測試 (結合了 traceroute 和 ping)
    • mtr www.linuxcast.net

7.2.5 修改主機名

  • 實時修改主機名(重啟後會恢復)
    • hostname train.linuxcast.net
  • 永久性修改主機名
    • /etc/sysconfig/network 文件下修改 HOSTNAME = train.linuxcast.net

7.2.6 故障排查

  • 網路故障排查遵循 從底層到高層、從自身到外部 的流程進行
  • 先查看網路配置信息是否正確
    • IP 網址
    • 子網掩碼
    • 網關
    • DNS
  • 再查看到達網關是否連通
    • ping 網關 IP 地址
  • 再查看 DNS 解析是否正常
    • host www.linuxcast.net
    • host www.126.com
    • host www.douban.com

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

-Advertisement-
Play Games
更多相關文章
  • [20190913]完善vim的bccacl插件2.txt--//繼續完善vim的bccacl插件。--//\bc 計算也可以直接使用 \bb 操作,這樣操作更快一些。--//增加直接寫好算式計算的快捷\cc(註不用輸入最後等號),這步直接調用bc,這樣算式沒有問題,都能計算正確。"" calcul ...
  • 我個人對可重入函數的理解如下: 可重入函數需要指明可重入對象,分為線程可重入函數和信號可重入函數 線程可重入函數是可以被多個線程同時調用、且保證安全的函數,也叫做線程安全函數 信號可重入函數是在信號處理程式中保證調用安全的函數,也叫做非同步信號安全函數 下圖是APUE書中所說的POSIX.1中不能保證 ...
  • [TOC] 1. 線程與進程 線程的概念 線程是進程內相對獨立的一個執行流,是進程內的一個執行單元,是操作系統中一個可調度的實體。 深入理解進程和線程 在現代操作系統中,資源分配的基本單位是進程,而CPU調度執行的基本單位是線程 進程不是調度單元,線程是進程使用CPU資源的基本單位 進程有獨立的地址 ...
  • 某天需要用HMC的root用戶乾點“壞事”,發現找了一圈都沒有正確的HMC v8及v9的root用戶破解教程,然後自己研究了一下,發現可以用root用戶了。本文測試用的HMC以VMware workstation方式安裝,分享的方法在HMC V8R860_SP3(buid 20180802.1)HM ...
  • 1.什麼是url? ​ 2.什麼是html? 3.什麼是http? 4.url html http 之間的關係? 5.http的工作原理 https://blog.csdn.net/hguisu/article/details/8680808 6.當用戶在瀏覽器輸入功能變數名稱後,會發生哪些操作? dns ...
  • .clearFloat::after { content: ""; height: 0; display: block; clear: both; visibility: hidden; } .clearFloat { zoom: 1; } 選擇發行版 對於發行版的選擇可以參考這個網站(http:/ ...
  • 1.下載Docker Toolbox 下載地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 2.安裝Docker Toolbox 一直next 3.win+r打開control查看 確保這個關閉,不勾 打開任務管理 ...
  • 範例:配置Yum倉庫 Yum軟體倉庫的作用是為了進一步簡化RPM管理軟體的難度以及自動分析所需軟體包及其依賴關係的技術。可以把Yum想象成是一個碩大的軟體倉庫,裡面保存有幾乎所有常用的工具,而且只需要說出所需的軟體包名稱,系統就會自動為您搞定一切。 搭建並配置Yum軟體倉庫的大致步驟如下所示: 第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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...