国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Shell 命令集合 系統(tǒng)設(shè)置 】Linux 加載和卸載內(nèi)核模塊 modprobe命令 使用指南

這篇具有很好參考價(jià)值的文章主要介紹了【Shell 命令集合 系統(tǒng)設(shè)置 】Linux 加載和卸載內(nèi)核模塊 modprobe命令 使用指南。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


Shell 命令專欄:Linux Shell 命令全解析


描述


modprobe命令是Linux系統(tǒng)中用于加載和卸載內(nèi)核模塊的工具。內(nèi)核模塊是一種可以動(dòng)態(tài)加載到內(nèi)核中的代碼,它們可以擴(kuò)展內(nèi)核的功能,添加新的驅(qū)動(dòng)程序或功能。

modprobe命令的主要作用有以下幾個(gè)方面:

  1. 加載內(nèi)核模塊:modprobe命令可以根據(jù)模塊名自動(dòng)查找并加載相應(yīng)的內(nèi)核模塊。當(dāng)系統(tǒng)需要某個(gè)功能或驅(qū)動(dòng)程序時(shí),可以使用modprobe命令加載相應(yīng)的內(nèi)核模塊,使其成為內(nèi)核的一部分,從而實(shí)現(xiàn)該功能或驅(qū)動(dòng)程序的使用。

  2. 解決依賴關(guān)系:內(nèi)核模塊之間可能存在依賴關(guān)系,即某個(gè)模塊依賴于其他模塊才能正常工作。modprobe命令可以自動(dòng)解決這些依賴關(guān)系,按照正確的順序加載所需的模塊。

  3. 自動(dòng)加載:modprobe命令可以根據(jù)系統(tǒng)配置文件(如/etc/modprobe.conf)中的設(shè)置,在系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載指定的內(nèi)核模塊。這樣可以確保系統(tǒng)在啟動(dòng)時(shí)具備必要的功能和驅(qū)動(dòng)程序。

  4. 卸載內(nèi)核模塊:除了加載內(nèi)核模塊,modprobe命令還可以用于卸載不再需要的內(nèi)核模塊。通過卸載不需要的模塊,可以釋放系統(tǒng)資源,提高系統(tǒng)的性能。

  5. 錯(cuò)誤處理:當(dāng)加載或卸載內(nèi)核模塊時(shí)出現(xiàn)錯(cuò)誤時(shí),modprobe命令可以提供相應(yīng)的錯(cuò)誤信息,幫助用戶定位和解決問題。

總之,modprobe命令是Linux系統(tǒng)中用于加載和卸載內(nèi)核模塊的重要工具,它能夠方便地管理系統(tǒng)的功能和驅(qū)動(dòng)程序,并提供錯(cuò)誤處理和自動(dòng)加載等功能。


語(yǔ)法格式

modprobe [選項(xiàng)] [模塊名]

參數(shù)說(shuō)明

  • -v, --verbose:顯示詳細(xì)的加載信息。
  • -r, --remove:卸載指定的內(nèi)核模塊。
  • -a, --all:加載或卸載所有與指定模塊相關(guān)的模塊。
  • -i, --ignore-install:忽略安裝命令,不執(zhí)行任何命令。
  • -l, --list:顯示已加載的內(nèi)核模塊列表。
  • -n, --showconfig:顯示模塊的配置信息。
  • -f, --force:強(qiáng)制加載或卸載模塊,即使其正在被使用。
  • -c, --config:顯示指定模塊的配置信息。

錯(cuò)誤情況

  • 如果指定的模塊不存在,將會(huì)顯示錯(cuò)誤信息。
  • 當(dāng)加載或卸載模塊時(shí),如果存在依賴關(guān)系無(wú)法解決,將會(huì)顯示錯(cuò)誤信息。
  • 如果加載或卸載模塊時(shí)出現(xiàn)權(quán)限不足的情況,將會(huì)顯示錯(cuò)誤信息。
  • 如果加載或卸載模塊時(shí)出現(xiàn)其他錯(cuò)誤,例如模塊文件損壞或無(wú)法訪問,將會(huì)顯示相應(yīng)的錯(cuò)誤信息。

需要注意的是,錯(cuò)誤情況可能因系統(tǒng)配置和環(huán)境而有所不同,具體的錯(cuò)誤信息和解決方法可能會(huì)有所差異。在使用modprobe命令時(shí),建議查閱相關(guān)文檔或參考錯(cuò)誤信息來(lái)解決問題。

注意事項(xiàng)

在使用Linux Shell中的modprobe命令時(shí),有一些注意事項(xiàng)需要注意:

  1. 權(quán)限:加載和卸載內(nèi)核模塊通常需要root用戶權(quán)限。確保以root用戶身份或具有適當(dāng)?shù)臋?quán)限運(yùn)行modprobe命令,否則可能會(huì)出現(xiàn)權(quán)限不足的錯(cuò)誤。

  2. 依賴關(guān)系:內(nèi)核模塊之間可能存在依賴關(guān)系,即某個(gè)模塊依賴于其他模塊才能正常工作。在加載模塊時(shí),modprobe命令會(huì)自動(dòng)解決依賴關(guān)系并按正確的順序加載模塊。但是,如果存在無(wú)法解決的依賴關(guān)系,可能會(huì)導(dǎo)致加載失敗。在此情況下,需要手動(dòng)解決依賴關(guān)系或安裝所需的依賴模塊。

  3. 配置文件:modprobe命令使用系統(tǒng)配置文件(如/etc/modprobe.conf)來(lái)確定模塊加載的方式和參數(shù)。在使用modprobe命令之前,可以檢查和編輯相應(yīng)的配置文件,以確保正確加載模塊。

  4. 內(nèi)核版本:某些內(nèi)核模塊可能與特定的內(nèi)核版本兼容或不兼容。在加載模塊之前,建議檢查模塊的兼容性和適用性,以避免出現(xiàn)不匹配的情況。

  5. 錯(cuò)誤處理:當(dāng)加載或卸載模塊時(shí)出現(xiàn)錯(cuò)誤時(shí),modprobe命令會(huì)提供相應(yīng)的錯(cuò)誤信息。在遇到錯(cuò)誤時(shí),應(yīng)仔細(xì)閱讀錯(cuò)誤信息并嘗試?yán)斫忮e(cuò)誤的原因。根據(jù)錯(cuò)誤信息,可以采取相應(yīng)的措施,例如檢查依賴關(guān)系、修改配置文件或查找解決方案。

  6. 沖突和重復(fù)加載:加載不同版本或沖突的模塊可能會(huì)導(dǎo)致系統(tǒng)錯(cuò)誤或不穩(wěn)定。在加載模塊之前,應(yīng)確保不會(huì)加載沖突的模塊,并避免重復(fù)加載相同的模塊。

  7. 卸載模塊:在卸載模塊時(shí),確保不會(huì)影響系統(tǒng)的正常運(yùn)行。有些模塊可能被其他模塊或系統(tǒng)組件所依賴,卸載這些模塊可能會(huì)導(dǎo)致系統(tǒng)功能異?;虮罎?。在卸載模塊之前,應(yīng)仔細(xì)考慮其影響,并確保了解相關(guān)模塊之間的依賴關(guān)系。

總之,在使用modprobe命令時(shí),應(yīng)注意權(quán)限、依賴關(guān)系、配置文件、兼容性和錯(cuò)誤處理等方面的問題。正確使用modprobe命令可以確保系統(tǒng)的穩(wěn)定性和功能正常運(yùn)行。


底層實(shí)現(xiàn)

modprobe命令的底層實(shí)現(xiàn)涉及到Linux內(nèi)核和模塊管理機(jī)制。

在Linux內(nèi)核中,內(nèi)核模塊是一種可以動(dòng)態(tài)加載到內(nèi)核中的代碼,它們可以擴(kuò)展內(nèi)核的功能,添加新的驅(qū)動(dòng)程序或功能。內(nèi)核模塊通常以.ko文件的形式存在,包含了模塊的代碼和相關(guān)信息。

當(dāng)執(zhí)行modprobe命令時(shí),底層實(shí)現(xiàn)會(huì)經(jīng)過以下步驟:

  1. 解析命令行參數(shù):modprobe命令會(huì)解析命令行參數(shù),如模塊名、選項(xiàng)等。

  2. 檢索模塊:根據(jù)指定的模塊名,modprobe命令會(huì)查找模塊的.ko文件。通常,模塊文件存儲(chǔ)在/lib/modules/<kernel_version>/目錄下,其中<kernel_version>是當(dāng)前系統(tǒng)使用的內(nèi)核版本。

  3. 解決依賴關(guān)系:在加載模塊之前,modprobe命令會(huì)檢查模塊的依賴關(guān)系。它會(huì)查找模塊的依賴模塊,并按正確的順序加載這些依賴模塊。這確保了模塊的依賴關(guān)系得到滿足。

  4. 加載模塊:modprobe命令會(huì)通過調(diào)用系統(tǒng)調(diào)用(如init_module)將模塊加載到內(nèi)核中。系統(tǒng)調(diào)用將加載模塊的.ko文件,將模塊的代碼和相關(guān)信息加載到內(nèi)核的模塊管理機(jī)制中。

  5. 模塊管理:一旦模塊加載到內(nèi)核中,內(nèi)核會(huì)將其注冊(cè)到模塊管理機(jī)制中。模塊管理機(jī)制負(fù)責(zé)管理、維護(hù)和卸載內(nèi)核模塊。它會(huì)為模塊分配內(nèi)存空間、初始化模塊的數(shù)據(jù)結(jié)構(gòu),并將模塊的符號(hào)表等信息添加到內(nèi)核的符號(hào)表中。

  6. 錯(cuò)誤處理:如果加載模塊時(shí)出現(xiàn)錯(cuò)誤,modprobe命令會(huì)返回相應(yīng)的錯(cuò)誤信息。錯(cuò)誤可能包括模塊文件不存在、依賴關(guān)系無(wú)法解決、權(quán)限不足等。根據(jù)錯(cuò)誤信息,可以進(jìn)行相應(yīng)的處理和調(diào)試。

總的來(lái)說(shuō),modprobe命令底層實(shí)現(xiàn)通過解析命令行參數(shù)、查找模塊文件、解決依賴關(guān)系、調(diào)用系統(tǒng)調(diào)用加載模塊,并在內(nèi)核中進(jìn)行模塊管理,從而實(shí)現(xiàn)了內(nèi)核模塊的加載和管理功能。這個(gè)過程涉及到Linux內(nèi)核的模塊管理機(jī)制和相關(guān)的系統(tǒng)調(diào)用。


示例

示例一

1. 加載指定的內(nèi)核模塊:
   modprobe usbcore

示例二

2. 加載內(nèi)核模塊并顯示詳細(xì)信息:
   modprobe -v usbcore

示例三

3. 加載多個(gè)內(nèi)核模塊:
   modprobe usbcore usbhid

示例四

4. 加載內(nèi)核模塊并忽略依賴關(guān)系:
   modprobe --ignore-dependencies usbcore

示例五

5. 卸載指定的內(nèi)核模塊:
   modprobe -r usbcore

示例六

6. 強(qiáng)制卸載內(nèi)核模塊,即使其正在被使用:
   modprobe -r -f usbcore

示例七

7. 顯示指定內(nèi)核模塊的詳細(xì)信息:
   modprobe -c usbcore

用c語(yǔ)言實(shí)現(xiàn)


以下是一個(gè)用C語(yǔ)言實(shí)現(xiàn)modprobe命令的簡(jiǎn)單示例,其中使用了Linux系統(tǒng)調(diào)用來(lái)加載和卸載內(nèi)核模塊。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

#define MODULE_NAME_MAX_LEN 256

int main(int argc, char *argv[]) {
    char module_name[MODULE_NAME_MAX_LEN];
    int ret;

    if (argc != 2) {
        printf("Usage: %s <module_name>\n", argv[0]);
        exit(1);
    }

    // 獲取模塊名
    strncpy(module_name, argv[1], MODULE_NAME_MAX_LEN);

    // 加載模塊
    ret = syscall(__NR_init_module, module_name, strlen(module_name), NULL);
    if (ret == -1) {
        perror("Error loading module");
        exit(1);
    }

    printf("Module loaded successfully\n");

    // 等待一段時(shí)間,模擬模塊的使用

    // 卸載模塊
    ret = syscall(__NR_delete_module, module_name, O_NONBLOCK);
    if (ret == -1) {
        perror("Error unloading module");
        exit(1);
    }

    printf("Module unloaded successfully\n");

    return 0;
}

上述示例中,我們使用了syscall函數(shù)來(lái)調(diào)用Linux系統(tǒng)調(diào)用init_moduledelete_module,分別用于加載和卸載內(nèi)核模塊。在加載模塊時(shí),我們將模塊名作為參數(shù)傳遞給init_module系統(tǒng)調(diào)用;在卸載模塊時(shí),我們將模塊名作為參數(shù)傳遞給delete_module系統(tǒng)調(diào)用。

請(qǐng)注意,這只是一個(gè)簡(jiǎn)單的示例,實(shí)際的modprobe命令功能更為復(fù)雜,涉及到更多的參數(shù)解析、依賴關(guān)系處理和錯(cuò)誤處理等。此示例僅提供了一個(gè)基本的框架,供參考和學(xué)習(xí)。


結(jié)語(yǔ)

在我們的探索過程中,我們已經(jīng)深入了解了Shell命令的強(qiáng)大功能和廣泛應(yīng)用。然而,學(xué)習(xí)這些技術(shù)只是開始。真正的力量來(lái)自于你如何將它們?nèi)谌氲侥愕娜粘9ぷ髦?,以提高效率和生產(chǎn)力。

心理學(xué)告訴我們,學(xué)習(xí)是一個(gè)持續(xù)且積極參與的過程。所以,我鼓勵(lì)你不僅要閱讀和理解這些命令,還要?jiǎng)邮謱?shí)踐它們。嘗試創(chuàng)建自己的命令,逐步掌握Shell編程,使其成為你日常工作的一部分。

同時(shí),請(qǐng)記住分享是學(xué)習(xí)過程中非常重要的一環(huán)。如果你發(fā)現(xiàn)本博客對(duì)你有幫助,請(qǐng)不吝點(diǎn)贊并留下評(píng)論。分享你自己在使用Shell命令時(shí)遇到的問題或者有趣的經(jīng)驗(yàn),可以幫助更多人從中學(xué)習(xí)。
此外,我也歡迎你收藏本博客,并隨時(shí)回來(lái)查閱。因?yàn)閺?fù)習(xí)和反復(fù)實(shí)踐也是鞏固知識(shí)、提高技能的關(guān)鍵。

最后,請(qǐng)記?。好總€(gè)人都可以通過持續(xù)學(xué)習(xí)和實(shí)踐成為Shell編程專家。我期待看到你在這個(gè)旅途中取得更大進(jìn)步!


閱讀我的CSDN主頁(yè),解鎖更多精彩內(nèi)容:泡沫的CSDN主頁(yè)

modprobe,# Shell命令集合,linux,windows,運(yùn)維,嵌入式,c語(yǔ)言,arm,arm開發(fā)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-761398.html

到了這里,關(guān)于【Shell 命令集合 系統(tǒng)設(shè)置 】Linux 加載和卸載內(nèi)核模塊 modprobe命令 使用指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Shell 命令集合 系統(tǒng)設(shè)置 】???Linux 更改用戶密碼 passwd命令 使用指南

    【Shell 命令集合 系統(tǒng)設(shè)置 】???Linux 更改用戶密碼 passwd命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 passwd命令是Linux系統(tǒng)中用于更改用戶密碼的命令。它允許用戶更改自己的密碼或超級(jí)用戶更改其他用戶的密碼。通過使用passwd命令,用戶可以保護(hù)其賬戶的安全性,防止未經(jīng)授權(quán)的訪問。 當(dāng)用戶運(yùn)行passwd命令時(shí),系統(tǒng)會(huì)提示用戶輸入當(dāng)前密

    2024年02月02日
    瀏覽(50)
  • 【Shell 命令集合 系統(tǒng)設(shè)置 】???Linux 置環(huán)境變量 export命令 使用指南

    【Shell 命令集合 系統(tǒng)設(shè)置 】???Linux 置環(huán)境變量 export命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 export命令是Linux中的一個(gè)內(nèi)建命令,用于設(shè)置環(huán)境變量。環(huán)境變量是在操作系統(tǒng)中用于存儲(chǔ)各種配置信息的一種機(jī)制。通過設(shè)置環(huán)境變量,可以影響系統(tǒng)的行為和程序的運(yùn)行。 使用export命令,可以將一個(gè)變量從當(dāng)前shell傳遞到子shell或其他

    2024年02月05日
    瀏覽(72)
  • 【Shell 命令集合 系統(tǒng)管理 】Linux 顯示或設(shè)置系統(tǒng)時(shí)間和日期 date命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】Linux 顯示或設(shè)置系統(tǒng)時(shí)間和日期 date命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 date命令是Linux系統(tǒng)中用于顯示或設(shè)置系統(tǒng)時(shí)間和日期的命令。它可以顯示當(dāng)前的系統(tǒng)時(shí)間和日期,也可以用于設(shè)置系統(tǒng)時(shí)間和日期。 當(dāng)使用date命令不帶任何參數(shù)時(shí),它會(huì)顯示當(dāng)前系統(tǒng)時(shí)間和日期。它的輸出格式通常是以\\\"星期 月 日 時(shí):分

    2024年02月07日
    瀏覽(94)
  • Linux內(nèi)核顯示、加載、卸載等超實(shí)用命令

    內(nèi)核模塊是 Linux 系統(tǒng)中一種特殊的可執(zhí)行文件,它可以在運(yùn)行時(shí)動(dòng)態(tài)地加載到內(nèi)核中或卸載出內(nèi)核,從而實(shí)現(xiàn)內(nèi)核的擴(kuò)展和優(yōu)化。內(nèi)核模塊操作相關(guān)的命令主要有以下幾種: 列出當(dāng)前已加載的內(nèi)核模塊及其依賴關(guān)系和使用情況。 將指定的內(nèi)核模塊加載到內(nèi)核中,需要提供完

    2024年02月08日
    瀏覽(96)
  • 【Shell 命令集合 系統(tǒng)管理 】Linux 用戶登錄系統(tǒng) login命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】Linux 用戶登錄系統(tǒng) login命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 login命令是Linux系統(tǒng)中的一個(gè)命令,其作用是用戶登錄系統(tǒng)。當(dāng)用戶通過終端或遠(yuǎn)程連接登錄到Linux系統(tǒng)時(shí),系統(tǒng)會(huì)調(diào)用login命令來(lái)驗(yàn)證用戶身份,并提供一個(gè)交互式的登錄會(huì)話。 login命令的主要作用如下: 用戶身份驗(yàn)證:login命令會(huì)要求用

    2024年02月03日
    瀏覽(126)
  • 【Shell 命令集合 系統(tǒng)管理 】???Linux 重啟 reboot命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】???Linux 重啟 reboot命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 reboot命令是Linux操作系統(tǒng)中用于重新啟動(dòng)系統(tǒng)的命令。當(dāng)系統(tǒng)出現(xiàn)問題或需要重新加載配置時(shí),使用reboot命令可以快速重啟系統(tǒng),使新的配置生效。 使用reboot命令會(huì)關(guān)閉系統(tǒng)中的所有進(jìn)程,并重新加載操作系統(tǒng)。在重啟過程中,系統(tǒng)會(huì)執(zhí)行

    2024年02月04日
    瀏覽(1140)
  • 【Shell 命令集合 系統(tǒng)管理 內(nèi)置命令】??Linux 退出當(dāng)前的Shell會(huì)話 exit命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 內(nèi)置命令】??Linux 退出當(dāng)前的Shell會(huì)話 exit命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 exit命令是Linux操作系統(tǒng)中的一個(gè)內(nèi)置命令,用于退出當(dāng)前的Shell會(huì)話。 當(dāng)我們?cè)诮K端中運(yùn)行exit命令時(shí),它會(huì)終止當(dāng)前的Shell進(jìn)程,并返回到上一級(jí)Shell或者關(guān)閉終端窗口。它可以用于退出當(dāng)前登錄的用戶會(huì)話,或者在腳本中用于結(jié)束程序的

    2024年02月04日
    瀏覽(101)
  • 【Shell 命令集合 系統(tǒng)管理 】Linux 刪除用戶 userdel 命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】Linux 刪除用戶 userdel 命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 userdel命令是Linux系統(tǒng)中的一個(gè)用于刪除用戶的命令。它的作用是刪除指定的用戶賬號(hào)以及與之相關(guān)的用戶組、用戶主目錄和系統(tǒng)文件。 用戶賬號(hào)是Linux系統(tǒng)中的一個(gè)重要概念,它用于標(biāo)識(shí)一個(gè)用戶的身份。每個(gè)用戶賬號(hào)都有一個(gè)唯一的用戶

    2024年02月05日
    瀏覽(96)
  • 【Shell 命令集合 系統(tǒng)管理 】Linux 終端復(fù)用工具 screen命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】Linux 終端復(fù)用工具 screen命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 screen命令是一個(gè)在Linux操作系統(tǒng)中使用的終端復(fù)用工具。它允許用戶在一個(gè)終端窗口中同時(shí)運(yùn)行多個(gè)終端會(huì)話,并且可以在這些會(huì)話之間自由切換。 screen命令的主要作用是提供一個(gè)“會(huì)話管理器”,可以在一個(gè)終端窗口中創(chuàng)建多個(gè)虛擬終端

    2024年02月05日
    瀏覽(133)
  • 【Shell 命令集合 系統(tǒng)管理 】??Linux 讓進(jìn)程休眠 sleep命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】??Linux 讓進(jìn)程休眠 sleep命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 在Linux中,sleep命令用于在一段指定的時(shí)間內(nèi)暫停當(dāng)前進(jìn)程的執(zhí)行。它的作用是讓進(jìn)程休眠,暫停執(zhí)行一段時(shí)間,然后繼續(xù)執(zhí)行后續(xù)的指令。 使用sleep命令可以在腳本中設(shè)置延遲,以便在執(zhí)行后續(xù)操作之前等待一段時(shí)間。這對(duì)于需要在特定

    2024年02月07日
    瀏覽(123)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包