Skip to content

深圳市凯路网络技术有限公司 IT技术学习

IT技术培训网站

  • 首页
  • IT学习
  • 学习课程
  • 免费教程
  • 师资力量
  • 技术干货
  • 行业资讯

Archive 2025年1月5日

  • 首页   /  2025   /  
  • 1月
  • ( 页面3 )
未分类 1月 5,2025

Linux系统的内核启动linuxstartkernel

Linux系统是一种非常流行并且广泛使用的操作系统,它提供了强大的功能和灵活性,可以在各种不同的设备上使用。在Linux系统中,内核是整个系统的核心,并且是系统启动时更先加载的组件。在本文中,我们将深入探讨过程,了解它的所有步骤和阶段。 1. 引导加载程序 在任何操作系统的启动过程中,之一步始终是启动引导加载程序。引导加载程序负责在计算机启动时加载操作系统的内核,并且它通常存储在计算机的启动磁盘驱ERP系统动器中。在Linux系统中,引导加载程序通常是Grub(GRand Unified Bootloader)。 2. 初始化内核 启动引导加载程序之后,计算机将开始初始化操作系统内核。这是一个非常关键的步骤,因为它将为系统中的其他组件提供必要的基础设施,进销存系统并确保内核能够正常工作。在Linux系统中,内核初始化包括以下步骤: – 计算机检测硬件。 – 内核加载相应的驱动程序以支持硬件设备。 – 内核初始化内存管理子系统、进程管理子系统和文件系统子系统。 – 内核启动守护程序,并设置其他系统设置。 3. 用货代系统户空间初始化 完成内核初始化后,Linux系统将开始用户空间初始化。用户空间是一个操作系统中的一部分,它是用户和应用程序运行的地方。在Linux系统中,用户空间初始化包括以下步骤: – 管理用户和用户组。 – 初始化系统服务和设置程序,以便它们可以正常运行国际快递系统。 – 启动登录管理器(如GDM或KDM),以便用户可以登录到系统。 4. shell启动 一旦用户空间初始化完成,Linux系统将启动shell。shell是一个命令行界面,它允许用户与操作系统交互。在Linux系统中,有多个shell可供选择,集运系统例如bash和zsh。 5. 启动应用程序和服务 在完成用户空间初始化和shell启动之后,Linux系统将启动应用程序和服务。这些应用程序和服务可能是从命令行启动的,也可能是在系统启动时自动启动的,以确保它们一直在后台运行。 过程是一个非常复杂和精细的过日用品ERP系统程。没有引导加载程序和内核初始化,操作系统无法正常运行。通过深入了解过程,我们可以更好地理解操作系统的工作原理,并且可以进行调试和优化,使其更加高效和可靠。 相关问题拓展阅读: linux kernel 没有输出信息 怎么调试 linux kernel 没有输出信息 怎么调试 最近工作在调试u虚拟串口,让其作为kernel启动的调试串口老埋,以及user空间的输入输出控制台。 利用这个机会,学习下printk如何选择往哪个console输出以及user空间下控制台如何选择,记录与此,与大家共享,也尺含绝方便自己以后翻阅。 Kernel版本号:3.4.55 依照我的思路(还是时间顺序)分了4部分,指定kernel调试console , kernel下printk console的选择 ,kernel下console的注册,user空间console的选陵姿择。 一 指定kernel调试console 首先看kernel启动时如何获取和处理指定的console参数。 kernel的启动参数cmdline可以指定调试console,如指定‘console=ttyS0,115200’, kernel如何解析cmdline,我之前写了一篇博文如下: 根据之前的分析,cmdline中有console=xxx,start_kernel中parse_args遍历.init.setup段所有obs_kernel_param。 kernel/printk.c中注册了‘console=’的解析函数console_setup(注册了obs_kernel_param),所以匹配成功,会调用console_setup来解析,如下: view plain copy static int __init console_setup(char *str) { char buf.name) + 4>; /* 4 for index */ char *s, *options, *brl_options = NULL; int idx; #ifdef CONFIG_A11Y_BRAILLE_CONSOLE if (!memcmp(str, “brl,”, 4)) { brl_options = “”; str += 4; } else if (!memcmp(str, “brl=”, 4)) { brl_options = str + 4; str = strchr(brl_options, ‘,’); if (!str) { printk(KERN_ERR “need port name after brl=\n”); return 1; } *(str++) = 0; } #endif /* * Decode str into name, index, options. */ if (str >= ‘0’ && str = ‘0’ && *s name, name, sizeof(c->name)); c->options = options; #ifdef CONFIG_A11Y_BRAILLE_CONSOLE c->brl_options = brl_options; #endif c->index = idx; return 0; } kernel利用结构体数组console_cmdline,最多可支持8个cmdline传入的console参数。 __add_preferred_console将name idx options保存到数组下一个成员console_cmdline结构体中,如果数组中已有重名,则不添加,并置selected_console为最新添加的console_cmdline的下标号。 比如cmdline中有“console=ttyS0,console=ttyS1,9600” 则在console_cmdline数组中console_cmdline代表ttyS0,console_cmdline代表ttyS1,而selected_console=1. 二 kernel下printk console的选择 kernel下调试信息是通过printk输出,如果要kernel正常打印,则需要搞明白printk怎么选择输出的设备。 关于printk的实现原理,我在刚工作的时候写过一篇博文,kernel版本是2.6.21的,但是原理还是一致的,可供参考: printk首先将输出内容添加到一个kernel缓冲区中,叫log_buf,log_buf相关代码如下: view plain copy #define MAX_CMDLINECONSOLES 8 static struct console_cmdline console_cmdline; static int selected_console = -1; static int preferred_console = -1; int console_set_on_cmdline; EXPORT_SYMBOL(console_set_on_cmdline); /* Flag: console code may call schedule() */ static int console_may_schedule; #ifdef CONFIG_PRINTK static char __log_buf; static char *log_buf = __log_buf; static int log_buf_len = __LOG_BUF_LEN; static unsigned logged_chars; /* Number of chars produced since last read+clear operation */ static int saved_console_loglevel = -1; log_buf的大小由kernel menuconfig配置,我配置的CONFIG_LOG_BUF_SHIFT为17,则log_buf为128k。 printk内容会一直存在log_buf中,log_buf满了之后则会从头在开始存,覆盖掉原来的数据。 根据printk的实现原理,printk最后调用console_unlock实现log_buf数据刷出到指定设备。 这里先不关心printk如何处理log buf数据(比如添加内容级别),只关心printk如何一步步找到指定的输出设备,根据printk.c代码,可以找到如下线索。 printk->vprintk->console_unlock->call_console_drivers->_call_console_drivers->_call_console_drivers->__call_console_drivers 看线索更底层__call_console_drivers代码。如下: view plain copy /* * Call the console drivers on a range of log_buf */ static void __call_console_drivers(unsigned start, unsigned end) { struct console *con; for_each_console(con) { if (exclusive_console && con != exclusive_console) continue; if ((con->flags & CON_ENABLED) && con->write && (cpu_online(p_processor_id()) || (con->flags & CON_ANYTIME))) con->write(con, &LOG_BUF(start), end – start); } } for_each_console定义如下: view plain copy /* * for_each_console() allows you to iterate on each console */ #define for_each_console(con) \ for (con = console_drivers; con != NULL; con = con->next) 遍历console_drivers链表所有console struct,如果有exclusive_console,则调用与exclusive_console一致console的write, 如果exclusive_console为NULL,则调用所有ENABLE的console的write方法将log buf中start到end的内容发出。 可以看出,execlusive_console来指定printk输出唯一console,如果未指定,则向所有enable的console写。 默认情况下execlusive_console=NULL,所以printk默认是向所有enable的console写! 只有一种情况是指定execlusive_console,就是在console注册时,下面会讲到。 到这里就很明了了,kernel下每次printk打印,首先存log_buf,然后遍历console_drivers,找到合适console(execlusive_console或所有enable的),刷出log。 console_drivers链表的成员是哪里来的,谁会指定execulsive_console?接着来看下一部分,kernel下console的注册 linux start kernel的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux start kernel,Linux系统的内核启动,linux kernel 没有输出信息 怎么调试的信息别忘了在本站进行查找喔。

文章来源于网络,如有侵权,请联系删除。

我司专注于ERP软件开发,ERP生产管理软件,客户管理软件开发,进销存软件,

企业微信ERP生产管理软件,销售管理,生产管理,采购管理,客户管理,BOM物料管理,财务管理,统计分析于一体ERP管理软件,分手机APP ERP管理软件,企业微信ERP软件。多年来一直专于研发,销信于一体软件公司。

作者 kson
未分类 1月 4,2025

轻松卸载Linux上的PostgreSQL数据库linuxpostgresql卸载

PostgreSQL 是一种功能强大的开源关系型数据库管理系统,它是非常流行的客户端/服务器模型数据库。但是,有时候也需要卸载 PostgreSQL,要么因为它过时了,要么因为你需要安装一个新的版本。无论何种原因,本文将介绍如何轻松卸载 PostgreSQL 在 Linux 系统上。 步骤一:备份 PostgreSQL 数据 PostgreSQL 的数据存储在其预定义目录中,在 Linux 上通常ERP系统是 `/var/lib/postgresql`。在卸载之前,务必备份你的数据以免丢失。可以使用 pg_dump 命令将所有数据转换为 SQL 文件,并将其存储在你的本地计算机上。 步骤二:卸载 PostgreSQL 软件包 在 Linux 中,通过软件进销存系统包管理器安装了 PostgreSQL 后,可以使用该管理器删除它。因此,我们在卸载 PostgreSQL 之前,先要确保使用的是软件包的名称而不是依赖于它的软件包的名称。在 Ubuntu/Debian 系统上,可以使用以下命令卸载 PostgreSQL货代系统: “` sudo apt-get remove postgresql postgresql-contrib “` 在 RedHat/CentOS 系统上,可以使用以下命令卸载 PostgreSQL: “` sudo yum remove postgres国际快递系统ql postgresql-server postgresql-contrib “` 步骤三:删除 PostgreSQL 配置文件和数据 在卸载 PostgreSQL 的过程中,你需要删除数据库的配置文件和数据。通常,这些数据存储在 `/etc/p集运系统ostgresql` 和 `/var/lib/postgresql` 目录中。使用以下命令删除这些文件: “` sudo rm -rf /etc/postgresql sudo rm -rf /var/lib/postgresql “` 步骤四:删除 Po日用品ERP系统stgreSQL 用户和组 在卸载 PostgreSQL 后,你应该删除其相关的系统用户和组。使用以下命令删除 PostgreSQL 用户和组: “` sudo deluser postgres sudo delgroup postgres “` 完成这些步骤后,你的 Linux 服务器上的 PostgreSQL 数据库将会被完全卸载。通过备份数据并按照这些简单步骤进行操作,你可以轻松地卸载 PostgreSQL 而不会对系统造成任何不必要的损害。 相关问题拓展阅读: linux中postgres吃内存怎么办 linux中postgres吃内存怎么办 方法/步骤 首先上传软件至服务器。执行文件权限的修改。 进入文件所在目录,执行命令chmod 755 postgresql-9.2.4-1-linux-x64.run 执行命令安装数据库。 进入文件所在目录,输入./postgresql-9.2.4-1-linux-x64.run 。 然后选择数据库安缓咐如装目录。 本篇默认直接回车。即安装路径为/opt/PostgreSQL/9.2/。 选择数据保存的路径。 本篇也默认。直接回车。即路径为:/opt/PostgreSQL/9.2/data 目录。 设置postgres账户的密码,以及设置端口号。 本篇端口号为默认5432,直接回车即可。 选择数扰启据库的编码格式。 本篇选择4,即为这zh_CN.utf8。 选择完编码格式后,等待数据库的安装进度,待进度达到100%时候证明数据库已经简旁安装上。 验证是否安装完毕,且数据库已启动成功。 执行命令ps -e | grep postgres,查看进程是否存在。 执行命令lsof -i:5432,查看数据库端口是否启用。 关于linux postgresql卸载的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

文章来源于网络,如有侵权,请联系删除。

我司专注于ERP软件开发,ERP生产管理软件,客户管理软件开发,进销存软件,

企业微信ERP生产管理软件,销售管理,生产管理,采购管理,客户管理,BOM物料管理,财务管理,统计分析于一体ERP管理软件,分手机APP ERP管理软件,企业微信ERP软件。多年来一直专于研发,销信于一体软件公司。

作者 kson
未分类 1月 2,2025

深入了解Linux的DEELX正则表达式引擎linuxdeelx

在Linux系统中,正则表达式是非常重要的工具之一,而DEELX正则表达式引擎则是一个高效的正则表达式处理器。本文将介绍DEELX引擎的概况、特点、应用以及使用方法,帮助读者更好地利用Linux系统中的正则表达式功能。 DEELX引擎的概况 DEELX引擎是一个由“Deep Extended Regular-Expression Library”简称而来的正则表达式处理器,其设计目标是提供高效的正ERP系统则表达式解析和匹配功能,并具备高度可定制化的特点。DEELX引擎最初由著名的网络安全工具Nmap中的Ncrack密码破解工具所使用,后来DEELX引擎成为了一个独立的开源项目并且得到了广泛的应用。 DEELX引擎的特点 1. 高效性能: DEELX引擎进销存系统采用了快速的正则表达式匹配算法和高效的内存管理技术,可以在处理大量数据时保持高速运行。DEELX引擎使用的解析方法是NFA(Nondeterministic Finite Automaton)方式,这种方法不需要进行回溯操作,避免了很多不必要的计算,加货代系统速了处理速度。 2. 支持多种正则表达式语法: DEELX引擎支持多种正则表达式语法,包括Perl、Python、POSIX等多种语法,并且可以根据需要进行自定义扩展。DEELX引擎还支持Unicode字符集,可以处理多个不同的字符集。 3. 强大的编译选国际快递系统项: DEELX引擎提供了多种编译选项,可以根据不同的应用场景选择不同的选项来协调处理速度和处理能力,提高了DEELX引擎的灵活性和应用范围。 4. 可定制性: DEELX引擎具有开放的扩展接口,可以根据需要进行自定义扩展,并支持在运行时加载扩展条集运系统目。使用者可以根据自己的需要来定制DEELX引擎。 DEELX引擎的应用 1. 网络安全: DEELX引擎可以用于撰写安全工具中的规则,如Nmap、Snort等。通过构建复杂的正则表达式规则,可以实现快速的网络数据包过滤和识别。 2. 数据处理: DEEL日用品ERP系统X引擎可以用于数据处理和清洗中。通过在脚本和程序中使用DEELX引擎,可以快速识别和提取需要的信息。 3. 数据库: DEELX引擎可以用于数据库的SQL解析和分析,加强数据库系统的安全性和稳定性。通过对SQL语句进行正则表达式匹配,可以对SQL注入等漏洞进行检测和防范。 DEELX引擎的使用方法 1. 安装DEELX引擎: DEELX引擎是一个开源项目,可以在其官方网站上下载源代码进行编译安装。也可以在Linux系统中使用软件包管理器进行安装,如在Debian、Ubuntu系统中使用以下命令: sudo apt-get install libdeelx-dev 2. 编写DEELX脚本: DEELX脚本使用的语法和正则表达式十分相似,这里以一个简单的例子进行说明。假设有一个文本文件,需要匹配其中所有以“hello”开头,以“world”结尾的行,可以使用以下脚本: #!/usr/bin/env deelx ^hello.*world$ 3. 运行DEELX脚本: 使用以下命令来运行DEELX脚本: deelx-script 其中两个参数分别为脚本文件和需要处理的输入文件。 相关问题拓展阅读: C++,如果加入regex.h,使用正则式 C++,如果加入regex.h,使用正则式 #include “deelx.h”帆世 // 表达轮陵式对象 CRegexpT re(“\\d*(?=\\.)\\腊轿戚.\\d*”, MULTILINE); // 替换 char * newstring = re.Replace(“1.12\n1”, “”); // 其他操作 //….. // 释放字符串 re.ReleaseString(newstring); linux deelx的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux deelx,深入了解Linux的DEELX正则表达式引擎,C++,如果加入regex.h,使用正则式的信息别忘了在本站进行查找喔。

文章来源于网络,如有侵权,请联系删除。

我司专注于ERP软件开发,ERP生产管理软件,客户管理软件开发,进销存软件,

企业微信ERP生产管理软件,销售管理,生产管理,采购管理,客户管理,BOM物料管理,财务管理,统计分析于一体ERP管理软件,分手机APP ERP管理软件,企业微信ERP软件。多年来一直专于研发,销信于一体软件公司。

作者 kson
未分类 1月 1,2025

如何监控Linux上的数据库监听查看linux上数据库监听

在Linux系统上运行数据库服务的网络监听端口是很常见的,例如MySQL、PostgreSQL、Oracle和MongoDB等。这些数据库服务程序一般会运行于Linux操作系统下,并监听默认的TCP/IP端口。如何在Linux系统上监控数据库监听,确保数据库服务正常运行并快速发现任何异常成为网络管理员所关注的主要问题之一。 本文将介绍如何使用不同的方法来监控Linux上的数据库监听,包括使用命令行ERP系统工具和第三方监控软件等。 1. 使用命令行工具监控数据库监听 在Linux系统上,可以使用命令行工具监测数据库服务是否在监听指定的端口。以下是一些常见的工具: 1.1 netstat netstat是一个常用的命令行工具,它可以用来检查与网络相关的状态进销存系统和统计信息。通过指定netstat命令的选项,您可以检查正在运行的进程、打开的端口、接口统计和路由表等。 以下是一个使用netstat命令检查MySQL监听端口的例子: “` netstat -an | grep 3306 “` 如果MySQL服务正在货代系统监听3306端口,该命令将显示以下结果: “` tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN “` 在输出中,端口号3306表示MySQL在该端口上进行监听,状态为LISTEN,则说明MySQL服务正在正常运行。 1.2 ss国际快递系统 ss命令是另一个用于检查与套接字相关的统计信息的命令行工具。ss命令的输出可以使您更方便地看到套接字的许多信息,如状态、数据包计数和定时器等参数。 以下是一个使用ss命令检查PostgreSQL监听端口的例子: “` ss -nt | grep 集运系统5432 “` 如果PostgreSQL服务正在监听5432端口,则会显示以下结果: “` LISTEN 0 128 127.0.0.1:5432 *:* “` 在输出中,端口号5432表示PostgreSQL在该端口上进行监听,127.0.0.1表示Po日用品ERP系统stgreSQL仅监听localhost地址。 1.3 lsof lsof是一个用于查看系统打开的文件和进程的命令行工具。使用lsof,您可以找出哪些进程正在使用指定的文件或端口。 以下是一个使用lsof命令检查MongoDB监听端口的例子: “` lsof -i :27017 “` 如果MongoDB服务正在监听27017端口,则会显示以下结果: “` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mongod 31551 root 10u IPv4 198109 0t0 TCP *:mongodb (LISTEN) “` 在输出中,端口号27017表示MongoDB在该端口上进行监听,状态为LISTEN,则说明MongoDB服务正在正常运行。 2. 使用第三方监控软件监控数据库监听 虽然使用命令行工具在Linux系统上监测数据库服务是一种简单和实用的方法,但如果有大量的数据库实例需要监控,手动检查一个个系统并不现实。这时可以使用第三方监控软件。 以下是一些常见的第三方监控软件: 2.1 Nagios Nagios是一种广泛使用的监控软件,可用于监视Linux系统中的各种网络服务。它具有灵活的配置选项,可支持多个平台和协议。 使用Nagios来监测数据库服务,需要安装一个相应的插件。可用的插件包括MySQL插件、Postgres插件、Oracle插件和MongoDB插件等。 2.2 Zabbix Zabbix是一个功能强大的监控工具,可用于监视Linux系统和各种网络设备。它支持各种通信协议,如SNMP、TP和TCP/IP等。 使用Zabbix监控数据库服务需要安装一个插件或创建一个监控项。可用插件包括MySQL插件、PostgreSQL插件和Oracle插件等。 2.3 Prometheus Prometheus是一个开源的监控系统,可用于监视不同的应用程序、数据库服务和网络设备等。它可以与许多第三方监控工具集成,例如Grafana和Elasticsearch等。 使用Prometheus来监控数据库服务,需要安装一个Prometheus Exporter。可用的Prometheus Exporter包括MySQL Exporter、PostgreSQL Exporter和Oracle Exporter等。 在Linux系统上监控数据库监听是网络管理员必须做的事情。可以使用命令行工具和第三方监控软件来轻松监控数据库服务。通过检查监听端口,管理员可以快速发现任何异常并采取适当的措施来保护系统和应用程序的安全。 相关问题拓展阅读: linux,mysql5安装后查看3306处于监听状态,如何进入mysql linux,mysql5安装后查看3306处于监听状态,如何进入mysql 应该是mysql安装路径里bin目扒蚂虚录下mysql -h localhost -u root -p 回车后会让你输入密码!,物消如果是春燃首次安装成功是不用输入密码的! 已经看到有3306的端口,证明mysql已经运行中了,你只需要在命令行输入mysql就可以登录了 netstat -an /etc/init.d/mysql start mysql -uroot -proot 关于查看linux上数据库监听的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

文章来源于网络,如有侵权,请联系删除。

我司专注于ERP软件开发,ERP生产管理软件,客户管理软件开发,进销存软件,

企业微信ERP生产管理软件,销售管理,生产管理,采购管理,客户管理,BOM物料管理,财务管理,统计分析于一体ERP管理软件,分手机APP ERP管理软件,企业微信ERP软件。多年来一直专于研发,销信于一体软件公司。

作者 kson

上一 1 2 3

近期文章

  • 如何在Linux上查看防火墙设置linux查看firewall
  • 深入了解哈希表在Linux系统中的应用哈希表linux
  • 探究语音识别在Linux系统中的应用语音linux
  • 如何使用Linux服务器搭建PHPlinux服务器搭建php
  • Linux命令仅列出目录及子目录linux仅列出目录

近期评论

  • 一位WordPress评论者发表在《世界,您好!》

文章归档

  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2021年8月

分类目录

  • 未分类

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

文章归档

  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2021年8月

近期评论

  • 一位WordPress评论者发表在《世界,您好!》

分类目录

  • 未分类
2025年1月
一 二 三 四 五 六 日
« 12月   2月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

近期文章

  • 如何在Linux上查看防火墙设置linux查看firewall
  • 深入了解哈希表在Linux系统中的应用哈希表linux
  • 探究语音识别在Linux系统中的应用语音linux
  • 如何使用Linux服务器搭建PHPlinux服务器搭建php
  • Linux命令仅列出目录及子目录linux仅列出目录
2025年1月
一 二 三 四 五 六 日
« 12月   2月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

分类目录

  • 未分类

近期文章

  • 如何在Linux上查看防火墙设置linux查看firewall
  • 深入了解哈希表在Linux系统中的应用哈希表linux
  • 探究语音识别在Linux系统中的应用语音linux
  • 如何使用Linux服务器搭建PHPlinux服务器搭建php
  • Linux命令仅列出目录及子目录linux仅列出目录

近期文章

  • 如何在Linux上查看防火墙设置linux查看firewall
  • 深入了解哈希表在Linux系统中的应用哈希表linux
  • 探究语音识别在Linux系统中的应用语音linux
  • 如何使用Linux服务器搭建PHPlinux服务器搭建php
  • Linux命令仅列出目录及子目录linux仅列出目录

菜单

  • IT学习
  • 免费教程
  • 学习课程
  • 师资力量
  • 技术干货
  • 行业资讯
  • 首页
2025年1月
一 二 三 四 五 六 日
« 12月   2月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

ERP软件 | 备案号: 粤ICP备2021080469号 深圳市凯路网络技术有限公司