最新资讯

  • 【Linux基础IO】深入Linux文件描述符与重定向:解锁高效IO操作的秘密

【Linux基础IO】深入Linux文件描述符与重定向:解锁高效IO操作的秘密

2025-05-15 08:00:51 0 阅读

📝个人主页🌹:Eternity._
⏩收录专栏⏪:Linux “ 登神长阶 ”
🤡往期回顾🤡:Linux Shell
🌹🌹期待您的关注 🌹🌹


❀Linux基础IO

  • 📒1. C语言文件接口
    • 🎈写文件
    • 🎩读文件
  • 📚2. 系统文件I/O
    • 🌞open
    • 🌄close
    • 🏞️write
    • ⭐read
  • 📜3. 文件描述符fd
    • 🍁0 & 1 & 2
    • 🍂文件描述符的分配规则
  • 📝4. 重定向
    • 🌸使用 dup2 系统调用
  • 📖5. 总结


前言:在Linux操作系统的广阔世界中,文件描述符(File Descriptor,简称fd)和重定向是理解并高效利用Linux IO(输入/输出)机制的关键基石。它们不仅是系统编程中不可或缺的概念,也是日常命令行操作中的强大工具。掌握这些概念,将使你能够更深入地理解Linux如何管理文件、进程间的通信以及数据的流动,从而编写出更加高效、健壮的应用程序,同时在系统管理和脚本编写中也能游刃有余

文件描述符(fd),简而言之,是Linux内核为了高效管理打开的文件(包括设备、管道等)而引入的一个抽象表示。每个打开的文件或资源都会被分配一个唯一的非负整数作为标识,这个标识就是文件描述符。通过文件描述符,进程可以访问和操作对应的文件或资源,而无需记住复杂的文件名或路径

重定向,则是Linux shell提供的一种强大功能,它允许用户改变标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)的默认方向。通过重定向,用户可以将命令的输出直接发送到文件、另一个命令的输入,或者忽略某些输出,从而灵活地控制数据的流向,实现复杂的自动化任务

我将带领大家深入探索Linux文件描述符和重定向的奥秘。我们将从基本概念讲起,逐步深入到它们的内部工作原理、使用技巧以及在实际场景中的应用。通过丰富的示例和详细的解释,读者将能够全面理解并掌握这些核心概念,进而在Linux编程和系统管理中更加得心应手

让我们一起,在Linux基础IO的海洋中扬帆起航,探索更多未知的精彩吧!


📒1. C语言文件接口

C语言提供了丰富的文件操作接口,允许程序以文件的形式对存储设备上的数据进行读写操作。这些接口主要由标准I/O库(stdio.h)中的函数组成,它们为文件的打开、关闭、读写等操作提供了支持,我们在C语言的学习时,已经见识过了,我们来回顾一下


🎈写文件

代码示例 (C语言):

#include 
#include 

int main()
{
    FILE* fp = fopen("log.txt", "w");
    if(fp == NULL)
    {
        perror("open fail");
        return 1;
    }

    // ...... 操作文件
    // 将文本内容设置成 "hello world!"
    const char *msg = "hello world!
";                                                                                                                                                                      
    int count = 5;
    while(count--)
    {
        fwrite(msg, strlen(msg), 1, fp);
    }

    fclose(fp);
    return 0;
}

🎩读文件

代码示例 (C语言):

#include 
#include 

int main()
{
    FILE* fp = fopen("log.txt", "r");
    if(fp == NULL)
    {
        perror("open fail");
        return 1;
    }

    char buf[1024];
    const char *msg = "hello world!
";

    while(1)
    {
        size_t s = fread(buf, 1, strlen(msg), fp);
        if(s > 0)
        {
            buf[s] = 0;
            printf("%s", buf);
        }
        if(feof(fp))
        {
            break;
        }
    }
    fclose(fp);                                                                                                                                                                                              
    return 0;
}

对于将信息输出到显示器我们可以使用fprintf,fwrite



代码示例 (C语言):

int main()
{
	const char *msg = "hello world
";
	fwrite(msg, strlen(msg), 1, stdout);
	
	fprintf(stdout, "hello world
");
	
	return 0;
}

stdin & stdout & stderr

  • C默认会打开三个输入输出流,分别是stdin, stdout, stderr
  • 这三个流的类型都是 FILE*, fopen返回值类型,文件指针

文件打开方式

符号作用
r以只读方式打开文件。文件必须存在。
w以写入方式打开文件。如果文件存在,则覆盖文件(即文件内容会被清空);如果文件不存在,则创建新文件。
a以追加方式打开文件。如果文件存在,则写入的数据会被添加到文件末尾,而不会覆盖原有内容;如果文件不存在,则创建新文件用于写入。
r+以读写方式打开文件。文件必须存在。
w+以读写方式打开文件。如果文件存在,则覆盖文件;如果文件不存在,则创建新文件。
a+以读写方式打开文件用于追加。如果文件存在,则写入的数据会被添加到文件末尾,文件指针会停留在文件末尾,但允许读取;如果文件不存在,则创建新文件。

📚2. 系统文件I/O

系统文件I/O,即系统输入输出操作,是计算机系统中负责数据在内存与外部设备(如磁盘、键盘、显示器等)之间传输的机制。在C语言中,文件I/O操作是一个重要的组成部分,它允许程序读取和写入文件,以及进行其他形式的数据交换


🌞open

在Linux系统编程中,open 是一个非常重要的系统调用(system call),它用于打开和可能创建文件。这个函数是文件I/O操作的基础,因为它提供了对文件或设备的访问权限,并返回一个文件描述符(file descriptor),该描述符随后可用于其他文件I/O操作

open它有三个参数:
pathname:要打开或创建的目标文件
flags:打开文件时,可以传入多个参数选项,用下面的一个或者多个常量进行“或”运算,构成flags
mode:权限

返回值:

  • 成功:新打开的文件描述符
  • 失败:-1

open 常用的标志位有:O_RDONLY,O_WRONLY,O_RDWR,O_CREAT,O_TRUNC,这些相当于宏,每一个宏只有一个标记位是1的,而且彼此不重复,我们来模拟实现一下

  • O_RDONLY: 只读打开
  • O_WRONLY: 只写打开
  • O_RDWR : 读,写打开

这三个常量,必须指定一个且只能指定一个

  • O_CREAT : 若文件不存在,则创建它。需要使用mode选项,来指明新文的访问权限
  • O_APPEND: 追加写
  • 默认情况我们写文件时,是不会将文件清空的,如果我们想要清空就需要加上O_TRUNC

代码示例 (C语言):

// 每一个宏只有一个标记位是1的,而且彼此不重复
#define Print1 1
#define Print2 (1<<1)
#define Print3 (1<<2)
#define Print4 (1<<3)
 
void Print(int flags)
{
    if(flags&Print1) printf("hello 1
");
    if(flags&Print2) printf("hello 2
");
    if(flags&Print3) printf("hello 3
");
    if(flags&Print4) printf("hello 4
");
}                                                                                                 

int main()
{
    Print(Print1);
    Print(Print1|Print3);
    Print(Print2|Print3|Print4);
    Print(Print4);
    return 0;
}


在了解完标志位之后,让我们来看看open的用法吧


open代码示例 (C语言):

#include   
#include   
#include   
#include         
                                                                       
int main()                                  
{                                           
    int fd = open("log.txt", O_WRONLY | O_CREAT);  
    if(fd < 0)                              
    {                                       
        perror("open");                     
        return 1;                           
    }                                       
     
    // 文件操作
                                           
    close(fd);                              
    return 0;                               
} 

当我们执行我们的可执行程序后,确实产生了一个文件,但是文件的属性却是乱码,而且文件名还带有颜色,而产生这些的原因,其实是第三个参数,我们可以在创建时,设置权限

int fd = open("log.txt", O_WRONLY | O_CREAT, 0666);  

因为有权限掩码的存在即使我们设置了 666 但是在生成是变成了664,如果一定要按我们的意思生成,我们可以在代码中屏蔽权限掩码,将掩码设置成0

umask(0);

🌄close

close函数在不同的编程环境和上下文中可以有不同的具体实现和用途,但通常它用于关闭或释放资源。这些资源可能是文件、网络连接、数据库连接、图形界面中的窗口或任何其他需要显式关闭以避免资源泄露或保持系统整洁的实体

close函数很简单,重要的是要确保在不再需要资源时调用它,我们只要记住他的头文件和它的用法就可以了


🏞️write

write函数是在多种编程环境中广泛使用的一个函数,主要用于向文件、网络连接、数据库或其他输出流中写入数据。虽然具体实现和可用的参数可能因编程语言和上下文而异,但write函数的基本用途是相似的

#include   
#include   
#include   
#include   

int main()  
{  
    int fd = open("log.txt", O_WRONLY | O_CREAT, 0666);  
    if(fd < 0)  
    {  
        perror("open");  
        return 1;  
    }  
  
    const char *msg = "hello world
";  
  	// 这里计算msg大小时,不需要+1,因此''不是文件所要求的
    write(fd, msg, strlen(msg));                                                                                                                                                                             
    close(fd);                                                                                                                   
    return 0;                                                                                                                    
} 

⭐read

read 函数是在多种编程环境中用于从文件、网络连接、内存缓冲区或其他输入流中读取数据的函数。它的具体实现和可用的参数会根据所使用的编程语言、库或上下文而有所不同,但基本的功能和用途是相似的

int main()
{
	char buffer[1024];
	int fd = open("log.txt",O_WRONLY | O_CREAT);
	ssize_t n = read(fd,buffer,sizeof(buffer));
	if(n > 0)
	{
		buffer[n-1] = 0;
	}
}

📜3. 文件描述符fd

文件描述符(fd)是File Descriptor的缩写,是Linux等类Unix操作系统中用于表示打开的文件、套接字或其他I/O资源的一个非负整数。文件描述符在操作系统中扮演着重要的角色,它是进程和文件、套接字等资源之间的抽象句柄,通过它可以进行读取、写入、映射或控制等操作

打印文件描述符:

#include 
#include 
#include 
#include 

int main()
{
    int fda = open("loga.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);                                                                                                                                         
    int fdb = open("logb.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
    int fdc = open("logc.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
    int fdd = open("logd.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);

    printf("fda:%d
", fda);
    printf("fdb:%d
", fdb);
    printf("fdc:%d
", fdc);
    printf("fdd:%d
", fdd);
    return 0;
}

我们发现当我们同时打开多个文件时,它们的文件描述符是一个连续的非负整数,相当于数组下标

每一个进程都要知道自己打开了哪些文件,所以进程PCB中会保存一张文件描述符表,文件描述符的本质就是数组的下标


🍁0 & 1 & 2

在POSIX语义中,文件描述符0、1、2被赋予了特殊的含义,分别代表标准输入(STDIN_FILENO)、标准输出(STDOUT_FILENO)和标准错误(STDERR_FILENO)所以我们打开一个文件,它的文件描述符是从3开始

0,1,2对应的物理设备一般是:键盘,显示器,显示器

  • 标准输入 键盘 stdin 0
  • 标准输出 显示器 stdout 1
  • 标准错误 显示器 stderr 2

验证代码:

int main()  
{  
    printf("stdin->fd:%d
", stdin->_fileno);
    printf("stdout->fd:%d
", stdout->_fileno);
    printf("stderr->fd:%d
", stderr->_fileno);                                                                                                                                                             
    return 0;                                                                                                                                      
} 

文件描述符就是从0开始的小整数。当我们打开文件时,操作系统在内存中要创建相应的数据结构来描述目标文件。于是就有了file结构体。表示一个已经打开的文件对象。而进程执行open系统调用,所以必须让进程和文件关联起来。
每个进程都有一个指针*files, 指向一张表files_struct,该表最重要的部分就是包涵一个指针数组,每个元素都是一个指向打开文件的指针!只要拿着文件描述符,就可以找到对应的文件

操作系统访问一个文件时,只认文件描述符!


🍂文件描述符的分配规则

最小未使用原则:

  • 进程在分配文件描述符时,会查询其内部的文件描述符表(内核中的文件指针数组)
  • 选择分配最小的、当前未被使用的文件描述符给新打开的文件或流
// 各种头文件

int main()
{
    close(1);

    int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    if(fd < 0)
    {
        perror("open");
        return 1;
    }

    printf("fd:%d
", fd);                                                                                                                                                                                  
    close(fd);
    return 0;
}

当我们关闭1之后,我们执行程序发现,并没有在屏幕上产生输入

我们来修改一下代码:

// 各种头文件

int main()
{
    close(1);

    int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    if(fd < 0)
    {
        perror("open");
        return 1;
    }

    printf("fd:%d
", fd);
    printf("stdout:%d
", stdout->_fileno);
	fflush(stdout);
                                                                                                                                                                                  
    close(fd);
    return 0;
}

我们在刷新之后发现,本来要打印在屏幕上的fd竟然出现在了log.txt里面,如果我们先把1关掉,再打开文件,那么给它分配的文件描述符就是1,但是为什么会将内容写到文件里面呢?

  • 目前我们打开的文件的文件描述符是1,而printf它只能1,所以打印的内容就被重定向到了log.txt中
  • 为什么是刷新之后有,不刷新就没有呢?-> 因为在没有刷新时,内容是储存在缓冲区的,刷新之后才会出现

📝4. 重定向

在Linux中,重定向是一种将命令的标准输入(stdin)、标准输出(stdout)或标准错误(stderr)重新指向文件或其他命令的技术。这种机制允许用户将命令的输出保存到文件中,或者将文件的内容作为命令的输入。重定向通过使用特定的符号来实现,这些符号主要包括 >、>>、< 和 2>

我们在关闭1后发现,本来应该输出到显示器上的内容,输出到了文件 myfile 当中,其中,fd=1。这种现象叫做输出重定向

重定向的本质其实就是修改文件特征fd的下标内容

如果我们将代码中的O_TRUNC修改成O_APPEND这样代码就变成了追加重定向

追加重定向代码:

// 各种头文件
int main()
{
    close(1);

    int fd = open("log.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
    if(fd < 0)
    {
        perror("open");
        return 1;
    }

    printf("fd:%d
", fd);
    printf("stdout:%d
", stdout->_fileno);
	fflush(stdout);
                                                                                                                                                                                  
    close(fd);
    return 0;
}

输入重定向代码:

int main()
{
    close(0);
    int fd = open("log.txt", O_RDONLY);
    if(fd < 0)
    {
        perror("open");
        return 1;
    }
    char buf[1024];
    fread(buf, 1, sizeof(buf), stdin);
    printf("%s
", buf);                                                                                                                                                                                     

    close(fd);
 	return0;
 }

本来fread是要求我们从键盘输入的,但是他直接从文件里面读取了,那么到底什么是重定向,我们来画图了解一下


重定向 2>

2>实际上指的是将标准错误(stderr,文件描述符为2)重定向到指定的文件或位置。

默认情况下,命令的标准输出(stdout,文件描述符为1)和标准错误(stderr,文件描述符为2)都会被打印到终端上。通过使用重定向,你可以将这两者的任何一个或两个都重定向到其他地方

int main()
{
	fprintf(stdout, "hello stdout
");
	fprintf(stderr, "hello stderr
");
	return 0;
}


我们的指令是将文件标识符为 1 的内容拷贝到log.txt中,但是屏幕还输出了一个 标准错误


但是如果我们想让它们都重定向一个文件里面我们可以用2>,在以后运用中,我们也可以将1重定向到一个文件中,2重定向到另一个文件中,这样在我们需要时,可以更快速的定位


🌸使用 dup2 系统调用

dup2是一个系统调用,用于复制一个现有的文件描述符到另一个文件描述符的位置,同时关闭目标文件描述符(如果它之前已打开)。这个调用主要用于重定向标准输入、标准输出或标准错误流到文件或其他I/O设备



dup2代码示例:

int main()
{
    //int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    int fd = open("log.txt", O_RDONLY | O_CREAT | O_TRUNC, 0666);
    if(fd < 0)
    {
        perror("open");
        return 1;
    }

    //dup2(fd, 1);                                                                                                                                                                                             
    //printf("hello world
");
    //fprintf(stdout, "hello wrold
");

	dup2(fd, 0); 
	char buf[1024];  
	fread(buf, 1, sieof(buf), stdin);
	printf("%s
, buf"):
	
    close(fd);
 	return 0;
 }

注释部分代码运行结果


我们可以用自己实现一个简易重定向去添加到我们上一节所编写的简易shell上,由于篇幅太长,我就不展示代码了,感兴趣的可以到我的gitte上去看

在shell增加重定向功能

部分代码展示:

每次重新输入时,为了不被上一次影响,我们需要在main函数中重置redir和filename的值


📖5. 总结

随着我们对Linux文件描述符(fd)和重定向的深入探讨,我们不仅揭开了这些概念背后复杂而精妙的机制,还见证了它们在实际应用中的广泛与强大。Linux的IO系统,通过文件描述符这一简洁而高效的抽象,使得进程能够灵活地与各种资源交互,都能通过统一的接口进行访问和管理

而重定向,则是Linux shell赋予我们的一柄利剑,它打破了传统IO操作的束缚,让我们能够随心所欲地控制数据的流向。通过重定向,我们不仅可以实现复杂的自动化任务,还能在脚本编写和日常操作中极大地提升效率

然而,学习之路永无止境。Linux的IO系统博大精深,文件描述符和重定向只是其中的冰山一角。未来,我们还将继续探索更多高级话题,如非阻塞IO、异步IO、信号驱动IO等,以进一步拓宽我们的视野和技能边界

让我们携手前行,在Linux的海洋中乘风破浪,共同追寻技术的真谛!

希望本文能够为你提供有益的参考和启示,让我们一起在编程的道路上不断前行!
谢谢大家支持本篇到这里就结束了,祝大家天天开心!

本文地址:https://www.vps345.com/10637.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP docker 容器 运维 java-rabbitmq java 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 服务器 linux 游戏 云计算 deepseek DeepSeek-R1 API接口 网络工程师 网络管理 软考 2024 2024年上半年 下午真题 答案 物联网 ubuntu 人工智能 redis Deepseek Deepseek-R1 大模型 私有化部署 推理模型 DNS YOLO conda pytorch vscode python yolov5 Ollama Qwen2.5-coder 离线部署 c语言 centos gcc centos 7 RTSP xop RTP RTSPServer 推流 视频 英语 ddos android 网络安全 web安全 进程 操作系统 进程控制 Ubuntu django 游戏引擎 学习 机器学习 深度学习 阿里云 网络 网络协议 llama 算法 opencv 自然语言处理 神经网络 语言模型 计算机视觉 卷积神经网络 php 开发语言 ssh CH340 单片机 嵌入式硬件 串口驱动 CH341 uart 485 数据库系统 数据库 oracle 关系型 安全 分布式 tcp/ip ip协议 mysql adb macos windows javascript 前端 chrome edge ai nlp nginx 负载均衡 数据分析 pycharm ide 开发环境 笔记 dify 知识库 本地化部署 apache https harmonyos 华为 typescript 计算机网络 自动化 arm开发 架构 vue.js spring boot jvm 虚拟机 经验分享 科技 个人开发 学习方法 网络结构图 MCP AIGC 人工智能生成内容 Dify 部署 计算机外设 bug tomcat 模型联网 API CherryStudio debian PVE live555 rtsp rtp word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 kubernetes prometheus grafana 云原生 交互 大数据 spark hive node.js virtualenv 策略模式 c++ react.js 前端面试题 持续部署 jellyfin nas 后端 grub 版本升级 扩容 ui vnc 并查集 leetcode eureka udp 本地环回 bind jenkins gitee spring cloud 智能路由器 dell服务器 c# 快捷键 旋转屏幕 自动操作 MacMini Mac 迷你主机 mini Apple outlook 错误代码2603 无网络连接 2603 ffmpeg 音视频 视频编解码 pip fstab 鸿蒙 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 rust腐蚀 内存 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 外网访问 内网穿透 端口映射 kafka AI大模型 大模型技术 本地部署大模型 ubuntu 18.04 安装教程 程序 编程 性能分析 ip C 环境变量 进程地址空间 gnu 性能优化 devops elasticsearch 高级IO epoll asm VMware springsecurity6 oauth2 授权服务器 前后端分离 mcu USB转串口 centos-root /dev/mapper yum clean all df -h / du -sh cron crontab日志 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse 目标跟踪 目标检测 OpenVINO 推理应用 华为认证 交换机 开源 git iftop 网络流量监控 UEFI Legacy MBR GPT U盘安装操作系统 思科 AI qt QT 5.12.12 QT开发环境 Ubuntu18.04 kylin pillow 教程 环境搭建 Java Maven 程序人生 ubuntu20.04 ros ros1 Noetic 20.04 apt 安装 进程优先级 调度队列 进程切换 websocket arm C# MQTTS 双向认证 emqx matplotlib fonts-noto-cjk oracle fusion oracle中间件 Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 yum docker-compose docker compose rag ragflow ollama 大模型部署 集成学习 集成测试 TCP WebServer maxkb ARG github spring Ubuntu20.04 GLIBC 2.35 transformer list 数据结构 uni-app 压力测试 大模型压力测试 EvalScope cpu 实时 使用 python2 ubuntu24.04 Flask FastAPI Waitress Gunicorn uWSGI Uvicorn 华为云 多线程 多线程服务器 Linux网络编程 媒体 ip命令 新增网卡 新增IP 启动网卡 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK C++ openvpn server openvpn配置教程 centos安装openvpn vim pygame HarmonyOS Next 安卓模拟器 mac 统信 NFS intellij-idea 面试 Linux 维护模式 opengl windows 服务器安装 IIS .net core Hosting Bundle .NET Framework vs2022 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 postman 测试工具 protobuf 序列化和反序列化 安装 ssh漏洞 ssh9.9p2 CVE-2025-23419 axure 富文本编辑器 C语言 svn Linux 开机黑屏 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 perf 虚拟显示器 远程控制 命令 链表 zotero WebDAV 同步失败 代理模式 maven stm32项目 stm32 课程设计 监控k8s集群 集群内prometheus 华为od dubbo xcode 聚类 AI编程 json Linux PID compose 实时音视频 实时互动 LDAP GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 llm filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 虚拟现实 JAVA vite vue3 机器人 Alexnet 运维开发 sublime text 编辑器 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 腾讯云 cursor ue4 着色器 ue5 虚幻 unix vue http 嵌入式 linux驱动开发 WSL2 上安装 Ubuntu db onlyoffice gitlab unity rpc DevEco Studio Qualcomm WoS Python QNN AppBuilder 1024程序员节 shell 信息与通信 visualstudio 话题通信 服务通信 网易邮箱大师 回显服务器 UDP的API使用 eclipse 热榜 驱动开发 GPU elk ssl Mac内存不够用怎么办 职场和发展 进程信号 flask vmware 卡死 MacOS录屏软件 RustDesk自建服务器 rustdesk服务器 docker rustdesk 虚拟局域网 硅基流动 ChatBox remote-ssh 离线部署dify numpy HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 远程工作 KylinV10 麒麟操作系统 Vmware 升级 CVE-2024-7347 漏洞 gpu算力 微服务 webrtc 程序员创富 xrdp 远程桌面 远程连接 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 bash 冯诺依曼体系 fork wait waitpid exit postgresql VSCode iot n8n 工作流 odoo 服务器动作 Server action deepseek-r1 大模型本地部署 Dell R750XS open webui 温湿度数据上传到服务器 Arduino HTTP qps 高并发 wsl webdav oceanbase 传统数据库升级 银行 vr ipython tcp 安卓 指令 ROS 自动驾驶 aws DeepSeek FTP 服务器 YOLOv8 NPU Atlas800 A300I pro asi_bench 防火墙 端口号 开放端口 访问列表 镜像下载 freebsd WSL2 Ubuntu22.04 虚拟化 开发人员主页 sql flash-attention 报错 rust ansible redhat 缓存 灵办AI VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 Trae IDE AI 原生集成开发环境 Trae AI linux内核 电脑 软件需求 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 硬件工程 嵌入式实习 termux rabbitmq Kylin-Server 国产操作系统 服务器安装 Cline WebUI DeepSeek V3 express p2p edge浏览器 浪潮信息 AI服务器 爬虫 网络爬虫 efficientVIT YOLOv8替换主干网络 TOLOv8 常用命令 文本命令 目录命令 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 多层架构 解耦 lvm 磁盘挂载 磁盘分区 AI-native gpt flutter Agent LLM CrewAI SRS 流媒体 直播 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 Ubuntu 22.04 MySql 算家云 算力租赁 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 微信 微信分享 Image wxopensdk IIS服务器 IIS性能 日志监控 ArkUI ArkTS 移动端开发 zabbix mariadb .netcore openEuler 网络药理学 生信 生物信息学 gromacs 分子动力学模拟 MD 动力学模拟 JDK LInux Windows 区块链 database Invalid Host allowedHosts 毕设 burp suite 抓包 游戏程序 ios WLAN rancher rc.local 开机自启 systemd 麒麟 云电竞 云电脑 todesk ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 电子信息 通信工程 毕业 html 桥接模式 windows虚拟机 虚拟机联网 前端框架 IP 地址 MobaXterm 文件传输 CPU 主板 电源 网卡 samba 互信 vSphere vCenter 软件定义数据中心 sddc 软件工程 软件构建 jmeter 软件测试 VMware安装mocOS macOS系统安装 ocr 硬件架构 系统架构 nftables 大语言模型 LLMs 5G 沙盒 MCP server C/S gateway Clion Nova ResharperC++引擎 Centos7 远程开发 agi 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 java-ee Cursor 产品经理 microsoft nohup 异步执行 matlab android studio scikit-learn rdp 远程服务 TrueLicense 政务 分布式系统 监控运维 Prometheus Grafana npm nvm golang powerpoint Chatbox 7z 实验 kernel jupyter Kali Linux 黑客 渗透测试 信息收集 深度求索 私域 CPU 使用率 系统监控工具 linux 命令 主从复制 etcd 数据安全 RBAC jar visual studio code ruoyi VMware安装Ubuntu Ubuntu安装k8s k8s intellij idea 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors 微信小程序 创意 社区 VMware创建虚拟机 源码剖析 rtsp实现步骤 流媒体开发 Hive环境搭建 hive3环境 Hive远程模式 匿名管道 命名管道 notepad pdf 私有化 本地部署 hadoop IM即时通讯 QQ 企业微信 剪切板对通 HTML FORMAT Hyper-V WinRM TrustedHosts milvus 串口服务器 大模型入门 大模型教程 Docker Desktop 读写锁 React Next.js 开源框架 SSH Xterminal 智慧农业 开源鸿蒙 团队开发 ecmascript nextjs react reactjs 3d 数学建模 计算生物学 生物信息 基因组 IPMI Google pay Apple pay 压测 ECS selenium ESP32 camera Arduino 程序员 frp chatgpt oneapi 大模型微调 国产数据库 瀚高数据库 数据迁移 下载安装 cuda cudnn anaconda wireshark springcloud MS Materials Reactor 设计模式 Ardupilot c/c++ 串口 具身智能 Isaac Sim 虚拟仿真 域名服务 DHCP 符号链接 配置 一切皆文件 ESXi ArkTs .net netty OpenManus go 版本 RDP 宝塔面板无法访问 sublime text3 软链接 硬链接 Windsurf 磁盘监控 模拟实现 CLion 文件系统 路径解析 状态管理的 UDP 服务器 Arduino RTOS threejs 3D WSL win11 无法解析服务器的名称或地址 okhttp chatbox gitea armbian u-boot 计算机 生活 file server http server web server miniapp 真机调试 调试 debug 断点 网络API请求调试方法 HiCar CarLife+ CarPlay QT RK3588 ROS2 gradle firewalld 加解密 Yakit yaklang ftp jdk ollama下载加速 监控 自动化运维 其他 vscode1.86 1.86版本 ssh远程连接 springboot UOS 统信操作系统 设置代理 实用教程 LLM Web APP Streamlit mybatis kubeless ssrf 失效的访问控制 CosyVoice 执法记录仪 智能安全帽 smarteye llama3 Chatglm 开源大模型 su sudo iBMC UltraISO bcompare Beyond Compare PX4 MAVROS 四旋翼无人机 权限 HP Anyware Cookie 工具 DevOps 软件交付 数据驱动 应用场景 环境迁移 minicom 串口调试工具 fd 文件描述符 飞牛nas fnos ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口服务器 vmamba web3.py localhost 键盘 远程过程调用 Windows环境 服务器扩容没有扩容成功 nohup后台启动 kotlin iphone linux安装配置 kali 共享文件夹 内网渗透 靶机渗透 系统安全 服务器配置 grep 信号 内核 HistoryServer Spark YARN jobhistory 显示器 嵌入式系统开发 curl wget 视频平台 录像 视频转发 性能测试 视频流 存储 3GPP 卫星通信 v10 镜像源 软件 智能手机 矩阵 中兴光猫 换光猫 网络桥接 自己换光猫 mq rocketmq playbook 剧本 KingBase 相机 博客 Linux的权限 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 langchain deep learning fpga开发 clickhouse 鸿蒙系统 工业4.0 RAID RAID技术 磁盘 安装MySQL 正则表达式 Docker Hub docker pull daemon.json 监控k8s 监控kubernetes yolov8 web zip unzip tcpdump NAS Termux Samba iperf3 带宽测试 ebpf uprobe 无人机 数据挖掘 弹性计算 云服务器 裸金属服务器 弹性裸金属服务器 GameFramework HybridCLR Unity编辑器扩展 自动化工具 数据集 x64 SIGSEGV SSE xmm0 log4j systemctl ci/cd composer 迁移指南 WebVM SWAT 配置文件 服务管理 网络共享 基础环境 流水线 脚本式流水线 ufw 网卡的名称修改 eth0 ens33 python3.11 Web服务器 多线程下载工具 网络编程 PYTHON 智能体 autogen openai coze mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 c arcgis dash diskgenius linux上传下载 高效I/O pyside6 界面 k8s集群资源管理 云原生开发 OpenCore NVML nvidia-smi 客户端 RAGFLOW kamailio sip VoIP docker run 数据卷挂载 交互模式 webstorm 宠物 毕业设计 免费学习 宠物领养 宠物平台 自动化编程 openwrt Mac软件 macbook sqlserver junit ros2 moveit 机器人运动 强制清理 强制删除 mac废纸篓 环境配置 功能测试 自动化测试 Mermaid 可视化图表 自动化生成 大屏端 显示过滤器 ICMP Wireshark安装 AI写作 xml copilot shell脚本免交互 expect linux免交互 linux环境变量 ping++ 豆瓣 追剧助手 迅雷 宝塔 搜索引擎 全文检索 图搜索算法 CNNs 图像分类 unity3d 客户端与服务端通信 excel 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 export import save load 迁移镜像 rime H3C dns 低代码 单例模式 googlecloud 银河麒麟 HCIE 数通 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia openstack Xen KVM next.js 部署next.js Docker Compose 远程 执行 sshpass 操作 云服务 安防软件 CUPS 打印机 Qt5 TRAE 个人博客 arkUI Ubuntu共享文件夹 共享目录 Linux共享文件夹 nac 802.1 portal 移动云 代码规范 系统开发 binder 车载系统 framework 源码环境 html5 firefox 大数据平台 selete 框架搭建 安全威胁分析 云桌面 微软 AD域控 证书服务器 yaml Ultralytics 可视化 浏览器自动化 top Linux top top命令详解 top命令重点 top常用参数 kylin v10 麒麟 v10 王者荣耀 大模型应用 asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 系统 黑苹果 visual studio 图像处理 DIFY SSH 密钥生成 SSH 公钥 私钥 生成 Maxkb RAG技术 本地知识库 alias unalias 别名 腾讯云大模型知识引擎 网络用户购物行为分析可视化平台 大数据毕业设计 硬件 设备 PCI-Express ux 鲲鹏 昇腾 npu mongodb 实战案例 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 计算机系统 AutoDL 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 K8S k8s管理系统 mysql离线安装 ubuntu22.04 mysql8.0 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap Linux的基础指令 sysctl.conf vm.nr_hugepages 代码调试 ipdb adobe Linux权限 权限命令 特殊权限 拓扑图 僵尸进程 MQTT协议 消息服务器 代码 视觉检测 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos IO firewall 工具分享 webgl P2P HDLC autoware 中间件 iis 开发 openjdk tar ollama api ollama外网访问 YOLOv12 远程看看 远程协助 photoshop Redis Desktop 直播推流 sqlite3 京东云 隐藏文件 隐藏目录 管理器 通配符 rsyslog 机柜 1U 2U 物联网开发 MQTT Docker Kubernetes kind 新盘添加 partedUtil ubuntu24.04.1 虚拟机安装 DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 CentOS r语言 云耀服务器 磁盘清理 harmonyOS面试题 EMQX 通信协议 linuxdeployqt 打包部署程序 appimagetool AD域 seatunnel 雨云 NPS css less 统信UOS bonding 链路聚合 retry 重试机制 ragflow 源码启动 windows日志 单一职责原则 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer GCC aarch64 编译安装 HPC 信号处理 glibc ACL 流量控制 基本ACL 规则配置 消息队列 prompt mamba Vmamba bot 能力提升 面试宝典 技术 IT信息化 推荐算法 树莓派 VNC 可信计算技术 密码学 thingsboard vpn 代理 make命令 makefile文件 大版本升 升级Ubuntu系统 Trae叒更新了? iDRAC R720xd powerbi 信息可视化 cd 目录切换 支付 微信支付 开放平台 相差8小时 UTC 时间 日志分析 系统取证 openssl Office 自定义客户端 SAS dba XFS xfs文件系统损坏 I_O error 用户缓冲区 lio-sam SLAM 镜像 DeepSeek r1 Open WebUI ftp服务 文件上传 apt 国内源 Node-Red 编程工具 流编程 csrf cocoapods tensorflow SenseVoice 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 nvidia 智能电视 NLP模型 NLP 自学笔记 小米 澎湃OS Android FunASR ASR 蓝桥杯 initramfs Linux内核 Grub ELF加载 源代码 Kali 渗透 跨域 AimRT 流式接口 管道 Wi-Fi xpath定位元素 Socket vm bat minio Spring Security Claude Desktop Claude MCP Windows Cli MCP cmake Attention 我的世界 我的世界联机 数码 EasyConnect 动静态库 华为证书 HarmonyOS认证 华为证书考试 SysBench 基准测试 服务器时间 ecm bpm RAG 检索增强生成 文档解析 大模型垂直应用 群晖 linux 命令 sed 命令 css3 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 自动化任务管理 es6 qt6.3 g726 命令行 基础入门 模拟器 easyui 深度优先 图论 并集查找 换根法 树上倍增 游戏服务器 Minecraft 实习 wordpress trea idea deepseek-v3 ktransformers SSH 服务 SSH Server OpenSSH Server 医疗APP开发 app开发 MNN Qwen k8s部署 MySQL8.0 高可用集群(1主2从) SSL证书 yum源切换 更换国内yum源 音乐服务器 Navidrome 音流 gaussdb 空间 查错 llama.cpp 分子对接 autodock mgltools PDB PubChem 宝塔面板 笔灵AI AI工具 蓝耘科技 元生代平台工作流 ComfyUI Docker快速入门 Dell HPE 联想 浪潮 健康医疗 金仓数据库 2025 征文 数据库平替用金仓 iventoy VmWare OpenEuler 思科模拟器 Cisco 实时内核 双系统 测试用例 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 Echarts图表 折线图 柱状图 异步动态数据 鸿蒙开发 可视化效果 AI作画 聊天室 muduo 多端开发 智慧分发 应用生态 鸿蒙OS X11 Xming 免费域名 域名解析 飞牛 银河麒麟服务器操作系统 系统激活 docker命令大全 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 sudo原理 su切换 DocFlow 代理服务器 安全架构 微信公众平台 VPN wireguard 数据可视化 蓝桥杯C++组 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 iTerm2 终端 单元测试 边缘计算 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 社交电子 kvm 服务器繁忙 vscode 1.86 网站搭建 serv00 jetty undertow 图形化界面 服务器部署 本地拉取打包 Reactor反应堆 换源 Debian 微信开放平台 微信公众号配置 远程登录 telnet ShapeFile GeoJSON Nginx SEO conda配置 conda镜像源 负载测试 影刀 #影刀RPA# 显示管理器 lightdm gdm 多产物 Typore 大模型面经 大模型学习 AnythingLLM AnythingLLM安装 网络攻击模型 wps wsl2 语音识别 trae 7-zip 网络文件系统 输入法 banner crosstool-ng Webserver 异步 NAT转发 NAT Server 稳定性 看门狗 游戏机 qemu libvirt Netty 即时通信 NIO perl rpa LVM lvresize 磁盘扩容 pvcreate rustdesk DeepSeek行业应用 Heroku 网站部署 毕昇JDK cnn DenseNet IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 半虚拟化 硬件虚拟化 Hypervisor Web应用服务器 电视剧收视率分析与可视化平台 行情服务器 股票交易 速度慢 切换 股票量化接口 股票API接口 micropython esp32 mqtt 文心一言 nuxt3 分析解读 交叉编译 can 线程池 Xinference RAGFlow 桌面环境 考试 业界资讯 模拟退火算法 玩游戏 Playwright 田俊楠 mosquitto ssh远程登录 virtualbox Linux环境 算力 教育电商 服务器管理 配置教程 网站管理 ubuntu24 vivado24 echarts pgpool umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt hibernate env 变量 UDP 论文阅读 UOS1070e WINCC 代码托管服务 小艺 Pura X 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 Carla 智能驾驶 技能大赛 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 直流充电桩 充电桩 ukui 麒麟kylinos openeuler W5500 OLED u8g2 TCP服务器 chfs ubuntu 16.04 软件卸载 系统清理 beautifulsoup AI代码编辑器 etl 同步 备份 建站 蓝牙 FTP服务器 Helm k8s集群 免密 登录 公钥 私钥 网络穿透 火绒安全 dity make webpack VPS Nuxt.js eNSP 网络规划 VLAN 企业网络 lighttpd安装 Ubuntu配置 Windows安装 服务器优化 nacos VR手套 数据手套 动捕手套 动捕数据手套 Ark-TS语言 deepseak 豆包 KIMI 腾讯元宝 终端工具 远程工具 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 CORS cmos llamafactory 微调 uniapp av1 电视盒子 机顶盒ROM 魔百盒刷机 恒源云 强化学习 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm Linux Vim 小智 Xshell 反向代理 致远OA OA服务器 服务器磁盘扩容 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 searxng OD机试真题 华为OD机试真题 服务器能耗统计 IPMITOOL BMC 硬件管理 keepalived 大模型训练/推理 推理问题 mindie stable diffusion cfssl sonoma 自动更新 弹性服务器 postgres Dify重启后重新初始化 重启 排查 系统重启 日志 原因 neo4j 数据仓库 数据库开发 数据库架构 产测工具框架 IMX6ULL 管理框架 scapy 智能音箱 智能家居 互联网医院 chrome devtools chromedriver 端口测试 国产化 gpt-3 ArcTS ArcUI GridItem Kylin OS 服务网格 istio XCC Lenovo js HarmonyOS NEXT 原生鸿蒙 繁忙 解决办法 替代网站 汇总推荐 AI推理 CDN AISphereButler embedding DrissionPage 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 用户管理 wsgiref Web 服务器网关接口 联网 easyconnect nfs 网页设计 uv SSL 域名 skynet java-rocketmq Jellyfin lb 协议 LORA 阻塞队列 生产者消费者模型 服务器崩坏原因 本地部署AI大模型 arkTs HarmonyOS OpenHarmony ceph URL api pyqt 图形渲染 显卡驱动 fast 小游戏 五子棋 sdkman Pyppeteer Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 黑客技术 数据采集 Crawlee IPv4 子网掩码 公网IP 私有IP big data cpp-httplib opensearch helm 服务器主板 AI芯片 Linux24.04 deepin ajax netlink libnl3 MI300x 金融 WebRTC CentOS Stream 容器技术 序列化反序列化 华为OD 可以组成网络的服务器 jina 底层实现 vasp安装 IMM ruby 源码 线程 TrinityCore 魔兽世界 ShenTong 混合开发 环境安装 聊天服务器 套接字 shard 雨云服务器 GRUB引导 Linux技巧 token sas springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 code-server SVN Server tortoise svn 文件分享 pppoe radius 考研 在线office saltstack 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 银河麒麟操作系统 Linux find grep chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 服务器部署ai模型 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 三级等保 服务器审计日志备份 框架 机架式服务器 1U工控机 国产工控机 laravel 向日葵 risc-v rclone AList fnOS Obsidian Dataview 多进程 图片增强 增强数据 Ubuntu Server Ubuntu 22.04.5 联想开天P90Z装win10 办公自动化 pdf教程 rnn 内网环境 bootstrap VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 飞牛NAS 飞牛OS MacBook Pro 跨平台 workflow 邮件APP 免费软件 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? 大文件秒传跨域报错cors 网工 RTMP 应用层 pyicu 宕机切换 服务器宕机 vsxsrv safari 孤岛惊魂4 历史版本 下载 开机自启动 java-zookeeper opcua opcda KEPServer安装 DOIT 四博智联 zerotier hosts hosts文件管理工具 开源软件 数据管理 数据治理 数据编织 数据虚拟化 联机 僵尸毁灭工程 游戏联机 开服 pyautogui idm DBeaver 计算机科学与技术 MAC SecureCRT NFC 近场通讯 智能门锁 百度云 矩池云 数据下载 数据传输 达梦 DM8 IO模型 comfyui comfyui教程 源代码管理 钉钉 进程间通信 端口聚合 windows11 锁屏不生效 华为机试 MacOS 信创 信创终端 中科方德 System V共享内存 进程通信 sentinel es Bug解决 Qt platform OpenCV 语法 子系统 midjourney navicat 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 c/s docker desktop image 网络建设与运维 佛山戴尔服务器维修 佛山三水服务器维修 GIS 遥感 WebGIS glm4 我的世界服务器搭建 内存管理 Putty 花生壳 OpenSSH 干货分享 黑客工具 密码爆破 端口 查看 ss 技术共享 post.io 企业邮箱 搭建邮箱 线性代数 电商平台 massa sui aptos sei 显卡驱动持久化 GPU持久化 流量运营 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 ISO镜像作为本地源 minecraft word 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 Qwen3 qwen3 32b vllm cocos2d 3dcoat Erlang OTP gen_server 热代码交换 事务语义 企业网络规划 华为eNSP docker search 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 音乐库 MVS 海康威视相机 client-go k8s二次开发 AI员工 dns是什么 如何设置电脑dns dns应该如何设置 IPv6 IPv6测试 IPv6测速 IPv6检测 IPv6查询 GeneCards OMIM TTD xss resolv.conf Ubuntu 24.04.1 轻量级服务器 AzureDataStudio 券商 股票交易接口api 类型 特点 嵌入式Linux IPC hdc AI agent EMUI 回退 降级 抓包工具 知识图谱 程序化交易 PTrade QMT 量化交易 量化股票 linux子系统 忘记密码 qt5 客户端开发 授时服务 北斗授时 csrutil mac恢复模式进入方法 SIP 恢复模式 金仓数据库概述 金仓数据库的产品优化提案 rtc Qwen2.5-VL VS Code 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 线程同步 线程互斥 条件变量 极限编程 机械臂 AD 域管理 nosql Python基础 Python教程 Python技巧 iNode Macos 游戏开发 hexo pthread docker部署Python VGG网络 卷积层 池化层 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 web3 区块链项目 Claude figma hugo deekseek Linux的基础开发工具 xfce HTTP 服务器控制 ESP32 DeepSeek 备选 网站 调用 示例 银河麒麟桌面操作系统 SystemV 查看显卡进程 fuser ArtTS win服务器架设 windows server 论文笔记 whistle 飞腾处理器 增强现实 沉浸式体验 技术实现 案例分析 AR 多路转接 智能体开发 查询数据库服务IP地址 SQL Server 分布式训练 GoogLeNet chromium dpi qt项目 qt项目实战 qt教程 USB网络共享 国标28181 视频监控 监控接入 语音广播 流程 SDP 设备树 虚幻引擎 状态模式 solidworks安装 智能合约 哈希算法 问题解决 sqlite Sealos 银河麒麟高级服务器 外接硬盘 Kylin 根服务器 浏览器开发 AI浏览器 MDK 嵌入式开发工具 finebi mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 IP配置 netplan 欧拉系统 计算机学习路线 编程语言选择 烟花代码 烟花 元旦 小智AI服务端 xiaozhi TTS 性能调优 安全代理 本地知识库部署 DeepSeek R1 模型 rsync 内网服务器 内网代理 内网通信 网络搭建 神州数码 神州数码云平台 云平台 cpolar 需求分析 规格说明书 网络原理 飞书 kerberos servlet ranger MySQL8.0 PPI String Cytoscape CytoHubba Zoertier 内网组网 TCP协议 抗锯齿 xshell termius iterm2 mcp服务器 client close Logstash 日志采集 mac设置host Headless Linux 高频交易 wpf Python 视频爬取教程 Python 视频爬取 Python 视频教程 zookeeper flink 合成模型 扩散模型 图像生成 对比 meld DiffMerge ai工具 Charles NVM Node Yarn PM2 打不开xxx软件 无法检查其是否包含恶意软件 mvc dock 加速 服务器ssl异常解决 proxy模式 配置原理 移动开发 分布式账本 信任链 共识算法 捆绑 链接 谷歌浏览器 youtube google gmail 项目部署到linux服务器 项目部署过程 超融合 安全漏洞 信息安全 Apache Beam 批流统一 案例展示 数据分区 容错机制 react native 网页服务器 web服务器 h.264 支持向量机 pycharm安装 文件存储服务器组件 prometheus数据采集 prometheus数据模型 prometheus特点 open Euler dde 软考设计师 中级设计师 SQL 软件设计师 动态规划 卸载 列表 材料工程 seleium GPU训练 EVE-NG regedit 开机启动 logstash Radius 崖山数据库 YashanDB 玩机技巧 软件分享 软件图标 可执行程序 项目部署 僵尸世界大战 游戏服务器搭建 商用密码产品体系 ubuntu安装 linux入门小白 搭建个人相关服务器 Anolis nginx安装 linux插件下载 swoole NVIDIA 阿里云ECS ldap 无桌面 GRE 做raid 装系统 软负载 架构与原理 mysql安装报错 windows拒绝安装 多个客户端访问 IO多路复用 TCP相关API 移动魔百盒 Alist mount 挂载 网盘 桌面快捷方式 deployment daemonset statefulset cronjob tailscale derp derper 中转 autodl triton 模型分析 充电桩平台 充电桩开源平台 星河版 g++ g++13 IDEA gunicorn Github加速 Mac上Github加速 Chrome浏览器插件 lua WireGuard 异地组网 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 deepseek r1 运维监控 可用性测试 集群管理 Unity Dedicated Server Host Client 无头主机 IMX317 MIPI H265 VCU 欧标 OCPP Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 软件开发 免费 win向maOS迁移数据 pythonai PlaywrightMCP 粘包问题 STL 数字证书 签署证书 火山引擎 qtcreator web开发 EMC存储 NetApp存储 跨域请求 接口优化 #STC8 #STM32 RK3568 caddy 带外管理 qwen2vl 创业创新 服务器正确解析请求体 静态IP Unity插件 解决方案 easyTier 组网 mybase 李心怡 计算虚拟化 弹性裸金属 fiddler element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 元服务 应用上架 yum换源 大模型推理 PyQt PySide6 solr homeassistant 物理地址 页表 虚拟地址 风扇控制软件 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 HAProxy ABAP macOS anythingllm open-webui docker国内镜像 存储维护 archlinux kde plasma 海康 fpga UFW 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 北亚数据恢复 oracle数据恢复 android-studio lrzsz authing watchtower 搜狗输入法 中文输入法 ardunio BLE node 大大通 第三代半导体 碳化硅 brew sequoiaDB 网络库 输入系统 接口返回 西门子PLC 通讯 知行EDI 电子数据交换 知行之桥 EDI Qt QModbus tidb Masshunter 质谱采集分析软件 使用教程 科研软件 yashandb gru AI Agent 字节智能运维 d3d12 设计规范 paddle MinIO CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 匿名FTP 邮件传输代理 SSL支持 chroot监狱技术 vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 数据库管理 进程池实现 命令模式 ECS服务器 finalsheel VM虚拟机 鸿蒙NEXT 脚本 harmonyosnext 三次握手 向量数据库 安装部署 milvus安装 GRANT REVOKE OS 零售 bigdata 提示词 华为昇腾910b3 pxe AWS webview gitee go SoC Bandizip Mac解压 Mac压缩 压缩菜单 pyscenic 生信教程 OpenManage 概率论 Metastore Catalog miniconda swift 云计算面试题 aac 实时云渲染 云渲染 3D推流 动态库 GCC编译器 -fPIC -shared mcp协议 go-zero 红黑树封装map和set 自定义登录信息展示 motd 美化登录 智能问答 Spring AI Milvus 流程图 mermaid 软件商店 livecd systemtools accept 工厂方法模式 导航栏 ubantu mapreduce 定义 核心特点 优缺点 适用场景 事件驱动 模板 泛型编程 漏洞报告生成 Multi-Agent java毕业设计 微信小程序医院预约挂号 医院预约 医院预约挂号 小程序挂号 AI提示词优化 web环境 mujoco PostgreSQL15数据库 Async注解 bert notepad++ OpenGL