如何在Linux系统上通过命令调用AI大模型?
如何在Linux系统上通过命令调用AI大模型?
文章目录
- 如何在Linux系统上通过命令调用AI大模型?
- 一、准备工作
- 二、编写API调用脚本
- 三、配置命令行工具
- 使用AI命令
- 帮我做一个文档总结
- 提问技术问题
- 编写简单的shell脚本
- 帮我写一个docker-compose
在这个AI技术飞速发展的时代,每一个程序员都应该问问自己:如何将人工智能的强大能力融入到我们熟悉的操作系统中?Linux,这个开源世界的基石,正在悄然拥抱这场认知革命。你是否想过,在你的服务器、你的开发环境中,也能轻松接入强大的AI大模型?这不仅仅是一个技术突破,更是一场开源精神与人工智能的完美邂逅。无需复杂界面,只需几行命令就能让AI帮你解答数学题、写代码、甚至分析数据!本文将手把手教你 零基础搭建专属AI命令行工具,让你在终端里体验「钢铁侠的贾维斯」般的智能助手!

(本实验基于Ubuntu22.04系统进行,AI大模型部署在另一台ubuntu22.04机器上)
一、准备工作
(如何部署本地AI大模型全网遍地都是我就不在过多赘述了,使用ollama即可轻松部署。)
1.确保模型已本地部署
- 确保大模型已经部署或使用API调用。(本文并非使用该机器的本地大模型,而是在另一台本地服务器上部署的8b大模型进行使用,所以涉及到了API调用,感兴趣的小伙伴可以自行搜索一下如何调用本地的API)
- 模型需支持Hugging Face Transformers格式(包含
pytorch_model.bin
、config.json
等文件)。
2.安装Python环境
sudo apt update
sudo apt install python3 python3-pip # 确保Python3已安装
sudo apt install python3-venv #安装虚拟环境支持
python3 -m venv ~/ai-env --without-pip # 跳过pip错误
source ~/ai-env/bin/activate # 激活环境
3.**手动安装pip **
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py # 在虚拟环境中安装pip
rm get-pip.py
二、编写API调用脚本
1.创建脚本文件
mkdir -p ~/ai-helper && cd ~/ai-helper
nano ai_api.py
2.脚本内容(适配你的API)
如果使用本地大模型,将地址更改成路径即可。
#!/usr/bin/env python3
import sys
import json
import requestsAPI_URL = "http://192.168.104.155:11434/api/generate"def call_ai_api(prompt):try:system_prompt = "你是一个问答机器人,你需要回答用户提问的问题"full_prompt = f"[INST] <<SYS>>\n{system_prompt}\n<</SYS>>\n\n{prompt} [/INST]"payload = {"model": "deepseek-r1:14b", # 14B模型"prompt": full_prompt, # 使用结构化prompt"stream": False,"temperature": 1.3, # 1.2-1.3范围"max_tokens": 2048, # token上限}# 增加超时容错机制response = requests.post(API_URL,headers={"Content-Type": "application/json"},data=json.dumps(payload),timeout=600 # 14B模型建议更长超时)response.raise_for_status()# 优化响应处理result = response.json()if "response" not in result:return "收到空响应,请检查模型是否加载成功"# 过滤模型自述内容(根据历史对话需求)clean_response = result["response"].split("由中国的深度求索")[0].strip()return clean_response or "未获取有效响应"except requests.exceptions.Timeout:return "请求超时,建议:1.检查模型服务状态 2.增加timeout值"except requests.exceptions.RequestException as e:return f"API连接失败: {str(e)}"except json.JSONDecodeError:return f"响应解析失败,原始数据开头: {response.text[:150]}"except KeyError:return f"响应格式异常,完整响应: {response.text}"if __name__ == "__main__":if len(sys.argv) < 2:print("Usage: ai '你的请求内容'")sys.exit(1)print(call_ai_api(sys.argv[1]))
三、配置命令行工具
1.安装依赖库
source ~/ai-env/bin/activate
pip install requests # 安装HTTP请求库
deactivate
2.设置可执行权限
chmod +x ~/ai-helper/ai_api.py
3.创建全局别名
echo "alias ai='~/ai-env/bin/python3 ~/ai-helper/ai_api.py'" >> ~/.bashrc
source ~/.bashrc
搭建完成。
使用AI命令
ai "1+1=几"
<think></think>1 + 1 = **2**
ai "你是谁?"
<think></think>您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
如果我们的deepseek模型较小例如7b/8b就可能超时例如:
root@C20241115552756:~/ai-helper# ai "天为什么是蓝色的"
请求失败: HTTPConnectionPool(host='192.168.104.155', port=11434): Read timed out. (read timeout=60)
root@C20241115552756:~/ai-helper# ai "圆周率前五位是多少?"
请求失败: HTTPConnectionPool(host='192.168.104.155', port=11434): Read timed out. (read timeout=60)
建议延长timeout时长,或者部署更大的AI大模型。
部署更大的大模型也意为着你可以提问更加复杂的问题,帮助你在工作中轻松解决复杂问题。
帮我做一个文档总结
root@C20241115552756:~/ai-helper# ai "朱自清的《春》,帮我做总结"
<think>
嗯,我需要帮用户总结朱自清的《春》。首先,我应该回忆一下这篇文章的主要内容和主题。《春》是朱自清先生的一篇非常著名的散文,我记得里面描绘了春天的各种景象,充满了生机和活力。接下来,我应该分析文章的结构。开头部分应该是对冬天的描述,然后引出对春天的期待。接着,作者可能描绘了春天到来时的具体场景,比如小草、花儿、春风等等。最后,可能会以春天的未来或收获结尾。在主题方面,朱自清先生的文章通常充满了对自然的热爱和赞美。《春》应该也不例外,表达了对春天的美好情感以及对生命的积极态度。同时,我还记得文中用了许多生动的比喻和细腻的描写,让读者仿佛身临其境。用户可能希望得到一个简洁但全面的总结,所以我需要涵盖文章的主要意象、主题思想以及艺术特色。这些方面能够帮助用户更好地理解《春》的核心内容和作者的写作意图。此外,我应该避免使用过于学术化的语言,保持口语化和自然,让用户容易理解和接受。同时,要注意用词准确,确保信息传达清晰明了。最后,我会组织好总结的结构,先介绍文章的基本情况,再逐步深入到主题、意象和艺术特色,最后做一个简短的总结,强调《春》的价值和意义。
</think>## 春日寻芳:一场与生命的对话在朱自清笔下,《春》是一场与生命的对话。当"东风来了",这位散文大师以诗意的目光扫过大地,将蛰伏一冬的生命重新唤醒。文章开篇便展现出对春天的期待:"盼望着,盼望着,东风来了,春天的脚步近了。"这看似简单的重复,实则暗含着生命对光明与温暖的渴望,在漫长的寒冬过后,每一个生命的脉搏都在为春日的到来而雀跃。在描绘自然景象时,朱自清展现出一个博物学家般的细致:小草偷偷地从土里钻出来,像不谙世事的孩子;花儿们争姘斗艳,仿佛在举行一场无声的选美大会。这些意象不仅仅是对春天的写照,更是一个生命观察者眼中的世界——每一个细微的生命都在书写着属于自己的精彩剧本。"春风像母亲的手抚摸着你",这句描写让整个春日多了一份温柔与慈爱。但在这看似柔情的文字背后,暗藏着一个深刻的主题:在春天这个生命的狂欢季,每个生命都在寻找属于自己的位置,都在演绎着一场关于成长的独幕剧。结尾处的追问"春天是不是永远这样新鲜?"道出了作者对永恒之美的探寻。这不仅是一个关于季节的描写,更是一曲对生命本质的咏叹。在朱自清笔下,《春》不再是单纯的自然写生,而是一场与生命的对话,一次对永恒的叩问。这篇散文最终告诉我们:春天不仅是大地的苏醒,更是每个心灵的觉醒时刻。当生命在这样的时节里萌发,我们便懂得了存在的真谛——那就是在每一个当下,都要以最饱满的姿态迎接生命的馈赠。
提问技术问题
我们向他提问什么是shell脚本?
root@C20241115552756:~/ai-helper# ai "介绍一下什么是Shell脚本。"
<think>
嗯,我现在想了解一下什么是Shell脚本。我在使用Linux的时候,经常看到一些命令,有时候需要多次输入同样的命令,感觉有点麻烦,所以可能可以自动化这些操作。那Shell脚本是不是就是用来自动执行命令的东西呢?我记得在Windows里有批处理文件,也就是那些以.bat为扩展名的文件,双击后会按顺序执行里面写的命令。Linux里的Shell脚本应该和这个类似吧?但我不太确定具体的细节。Shell是什么意思呢?应该是“外壳”的意思,在计算机中通常指用户与操作系统交互的界面。所以Shell脚本可能就是用来在Shell环境下运行的一系列指令组成的文件,对吗?那我该怎么写一个Shell脚本呢?是不是需要先写一个文件,然后给它执行权限,再运行?我记得之前有看到过示例,比如#!/bin/bash这样的开头,这是指定使用哪个解释器来运行脚本。另外,Shell脚本除了自动执行命令之外,还能做些什么呢?比如处理变量、读取输入、进行条件判断和循环。听起来很强大,可以用来编写自动化任务,比如定时备份文件或者监控服务器状态什么的。我还不太清楚具体的语法结构,比如怎么定义变量,如何使用if语句,for循环是怎样的。可能需要学习一下基础的Shell编程语法。另外,还有没有一些常用的命令和工具可以帮助写出更高效的脚本呢?总的来说,Shell脚本应该是一种自动化工具,允许用户通过编写一系列命令来执行特定的任务,节省时间和提高效率。但是具体的使用方法和高级功能还需要进一步的学习和实践。
</think>### 什么是Shell脚本?**Shell脚本**是用于Linux或Unix系统中的一系列指令的集合,以文件形式存在,能够自动执行特定任务。它通过解释器(如Bash)运行,类似于Windows中的批处理文件。#### 主要特点:
1. **自动化操作**:允许用户将多个命令组合在一起,减少重复输入。
2. **脚本语言**:支持变量、条件判断、循环等编程结构。
3. **可执行性**:通过赋予执行权限,脚本可以直接运行。#### 基本步骤:
1. 创建一个新文件(如`script.sh`)。
2. 在文件开头添加解释器声明,如`#!/bin/bash`。
3. 添加所需的命令和逻辑结构。
4. 赋予文件执行权限:`chmod +x script.sh`。
5. 运行脚本:`./script.sh`。#### 常见用途:
- **自动化任务**:如备份、日志处理。
- **系统管理**:用于维护和监控服务器。
- **批处理操作**:批量文件重命名或删除。#### 学习资源建议:
- 熟悉基础命令和语法。
- 练习编写简单的脚本,逐步学习高级功能。
编写简单的shell脚本
他还可以帮助我们去完成一些简单工作上的内容:
比如写一个简单的shell脚本监控系统机器:
root@C20241115552756:~/ai-helper# ai "帮我写一个简单监控系统机器的shell脚本,监控CPU、内存 、硬盘等信息。"
<think>
好的,我现在需要帮用户写一个简单的监控系统资源的Shell脚本,包括CPU、内存和硬盘的信息。首先,我得考虑用户可能是什么样的背景,可能是一个刚接触运维或者系统管理的新手,所以脚本应该简单易懂,并且不需要复杂的安装步骤。接下来,我要确定这个脚本需要监控哪些指标。用户提到了CPU、内存和硬盘,所以我需要分别收集这些信息。对于每个部分,我得找出合适的命令来获取数据。首先是CPU使用情况。我知道`top -n1 | grep -i cpu`可以显示当前的CPU使用率,但是输出中有很多信息,比如各个核心的使用情况,可能用户只需要总负载或者平均值。或者,也许可以用`htop`,但这个需要安装,所以还是用系统自带的命令比较好。然后是内存部分,`free -h`能显示内存和交换分区的使用情况,这样用户可以看到总的内存使用率以及是否有足够的物理内存。输出中要提取总内存、已用和剩余的部分。硬盘方面,可以使用`df -h`来查看各个挂载点的使用情况,包括总容量、已用空间和剩余空间。此外,磁盘I/O情况可能也很重要,所以加上`iostat`命令来获取读写速率等信息。接下来考虑如何将这些信息整合到一个脚本中,并且输出成可读的格式。也许可以将每个部分单独处理,然后拼接起来显示在屏幕上或者保存到文件里。考虑到用户可能需要定时运行这个脚本,比如每分钟一次,所以最后加上`crontab -e`的部分,指导用户如何设置任务调度。这样用户就可以自动化地监控系统资源了。总结一下,我需要写一个Shell脚本,使用`top`, `free`, `df`, 和`iostat`命令来获取所需信息,并以友好的格式输出。同时,添加注释让用户更容易理解每个部分的作用。
</think>以下是一个简单的监控系统资源(CPU、内存、硬盘)的Shell脚本:```bash
#!/bin/bash
# 系统资源监控脚本# 1. CPU 使用情况
echo "=== CPU 使用情况 ==="
top -n1 | grep -i cpu# 2. 内存 使用情况
echo "\n=== 内存 使用情况 ==="
free -h# 3. 硬盘 使用情况
echo "\n=== 硬盘 使用情况 ==="
df -h# 4. 磁盘 I/O 情况
echo "\n=== 磁盘 I/O 情况 ==="
iostat -x# 每隔一段时间自动运行(可选)
# 运行脚本后,可以使用以下命令添加到crontab:
# crontab -e
# 添加如下内容:
# */1 * * * * /path/to/script.sh
```### 功能说明:
1. **CPU 使用情况**:显示 CPU 的负载情况。
2. **内存 使用情况**:显示物理内存和交换分区的使用情况。
3. **硬盘 使用情况**:显示各个挂载点的使用情况(包括剩余空间)。
4. **磁盘 I/O 情况**:显示磁盘的读写情况。### 如何运行:
1. 将上述代码保存为一个文件,例如 `monitor.sh`。
2. 赋予脚本执行权限:```bashchmod +x monitor.sh```
3. 运行脚本:```bash./monitor.sh```### 定时监控(可选):
如果你想让脚本每隔一段时间自动运行,可以将它添加到 `crontab` 中。例如,每分钟运行一次:
```bash
crontab -e
```
然后添加以下内容:
```bash
*/1 * * * * /path/to/monitor.sh
```这个脚本会简单地输出系统资源的使用情况,适合用于基本监控。你可以根据需要进一步优化或添加更多功能。
帮我写一个docker-compose
我们尝试一下让AI帮我们写一个docker-compose.yaml测试一下:
root@C20241115552756:~/ai-helper# ai "我现在有mysql:5.7和wordpress:latest的镜像,帮我写一个docker-compose.yaml部署wordpress"
<think>
好的,我现在需要帮助用户用Docker Compose部署WordPress。他们提供了MySQL 5.7和WordPress latest的镜像。首先,我应该创建一个`docker-compose.yaml`文件。这个文件包含服务定义,包括网络和卷 mounting。接下来,我得设定两个服务:一个是MySQL,另一个是WordPress。每个服务需要指定镜像、端口映射以及环境变量。对于MySQL,我需要设置ROOT_PASSWORD环境变量,并将数据库目录挂载到本地路径,这样数据不会丢失。同时,配置mysqldump的cron任务来备份数据库。然后是WordPress部分,它依赖于MySQL,所以要使用depends_on。这里同样设置WP_ENV、WP_HOME和WP_SITEURL环境变量。挂载wordpress_dir到/www/html,确保文件安全。还应安装phpmyadmin以便管理数据库。网络方面,我需要创建一个内部的自定义网络,这样两个服务可以互相通信。写完yaml后,用户需要用docker-compose up -d启动,并检查状态是否正常。另外,备份和日志管理也很重要,所以提醒他们使用dump.sh脚本和查看容器日志的方法。最后,确保所有步骤清晰明了,让用户能够顺利部署WordPress。
</think>好的!以下是一个使用 Docker Compose 部署 WordPress 和 MySQL 的配置文件 (`docker-compose.yaml`)。这个配置将创建一个包含 WordPress 和 MySQL 服务的环境,并通过自定义网络和卷 mounting 来管理数据。```yaml
version: '3'services:db:image: mysql:5.7container_name: wordpress_dbenvironment:- MYSQL_ROOT_PASSWORD=root_password # 替换为你的数据库 root 密码volumes:- ./mysql_data:/var/lib/mysqlnetworks:- wordpress-networkcommand: mysqldump --all-databases --user=root --password=root_password | gzip > /var/backups/db_$(date +%Y%m%d%H%M%S).sql.gzwordpress:image:wordpress:latestcontainer_name:wordpress_siteenvironment:- WP_ENV=development- WP_HOME=http://localhost- WP_SITEURL=http://localhostports:- "80:80"depends_on:- dbvolumes:- ./wordpress_data:/var/www/htmlnetworks:- wordpress-networknetworks:wordpress-network:driver: bridgevolumes:wordpress_data:driver: local
```### 解释:
1. **MySQL 服务**:- 使用 `mysql:5.7` 镜像。- 设置了根密码(请将 `root_password` 替换为你的密码)。- 数据存储在本地的 `./mysql_data` 目录中。- 每天自动备份数据库到 `/var/backups` 目录。2. **WordPress 服务**:- 使用 `wordpress:latest` 镜像。- 映射了容器的 80 端口到主机的 80 端口。- 设置了一些 WordPress 环境变量,方便 WordPress 安装和配置。- 数据存储在本地的 `./wordpress_data` 目录中。3. **网络**:- 创建了一个名为 `wordpress-network` 的内部桥接网络,以便 WordPress 和 MySQL 服务之间通信。### 部署步骤:1. 确保你已经安装了 Docker 和 Docker Compose。
2. 在你的项目目录下创建一个 `docker-compose.yaml` 文件,并将上述内容粘贴进去。
3. 打开终端并运行以下命令启动服务:```bashdocker-compose up -d```
4. 查看服务状态:```bashdocker-compose ps```### 注意事项:
- **备份**:数据库每天自动备份,但请定期检查 `/var/backups` 目录以确保备份正常。
- **日志管理**:可以通过 `docker logs -f wordpress_site` 查看 WordPress 容器的日志。这个配置文件将帮助你快速部署一个 WordPress 网站,并且数据和数据库都会持久化存储在本地目录中。
想象一下,当Linux的稳定性和可定制性遇上AI的强大能力,会迸发出怎样的火花?这不仅让开发者如虎添翼,更为整个开源生态注入了新的活力。未来的世界级应用或许就诞生于这样的结合之中。现在,让我们一起走进这个激动人心的技术前沿,探索如何将Linux与AI大模型完美融合,开启属于我们的智能化新时代!
本文到此结束啦。
想象一下,当Linux的稳定性和可定制性遇上AI的强大能力,会迸发出怎样的火花?这不仅让开发者如虎添翼,更为整个开源生态注入了新的活力。未来的世界级应用或许就诞生于这样的结合之中。现在,让我们一起走进这个激动人心的技术前沿,探索如何将Linux与AI大模型完美融合,开启属于我们的智能化新时代!
本文到此结束啦。
相关文章:
如何在Linux系统上通过命令调用AI大模型?
如何在Linux系统上通过命令调用AI大模型? 文章目录 如何在Linux系统上通过命令调用AI大模型?一、准备工作二、编写API调用脚本三、配置命令行工具 使用AI命令帮我做一个文档总结提问技术问题编写简单的shell脚本帮我写一个docker-compose 在这个AI技术飞…...
数据分析-Excel-学习笔记Day1
Day1 复现报表聚合函数:日期联动快速定位区域SUMIF函数SUMIFS函数环比、同比计算IFERROR函数混合引用单元格格式总结汇报 拿到一个Excel表格,首先要看这个表格的构成(包含了哪些数据),几行几列,每一列的名称…...
负载均衡是什么,Kubernetes如何自动实现负载均衡
负载均衡是什么? 负载均衡(Load Balancing) 是一种网络技术,用于将网络流量(如 HTTP 请求、TCP 连接等)分发到多个服务器或服务实例上,以避免单个服务器过载,提高系统的可用性、可扩…...
洞察 Linux 进程管理
一、进程和线程的概念 1.进程 (1)概念 进程是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。进程是程序的执行实例,拥有独立的资源(如内存、文件描述符等)。每个进程在创建时会被…...
http协议版本的区别 -- 2和3
目录 http2和http3的区别 传输层协议 QUIC协议 介绍 连接建立与握手 建立安全连接的过程 RTT 建连为什么需要两个过程 原因 解决 QUIC协议的1-RTT 建连 必要性 连接过程 第一次握手(Client Hello) 版本号 key_share 其他 第二次握手 介绍 Server Hello 身…...
Vue2-实现elementUI的select全选功能
文章目录 使用 Element UI 的全选功能自定义选项来模拟全选 在使用 Element UI 的 el-select组件时,实现“全选”功能,通常有两种方式:一种是使用内置的全选功能,另一种是通过自定义选项来模拟全选。 使用 Element UI 的全选功能…...
Spring Boot 与 TDengine 的深度集成实践(四)
优化与扩展 批量插入数据 在实际应用中,当需要插入大量数据时,逐条插入会导致性能低下,因为每次插入都需要建立数据库连接、解析 SQL 语句等操作,这些操作会带来额外的开销 。为了提高数据插入效率,我们可以采用批量…...
2025年【山东省安全员C证】考试题及山东省安全员C证考试内容
在当今建筑行业蓬勃发展的背景下,安全生产已成为企业生存与发展的基石。安全员作为施工现场安全管理的直接责任人,其专业能力和资质认证显得尤为重要。山东省安全员C证作为衡量安全员专业水平的重要标准,不仅关乎个人职业发展,更直…...
提升Spring Boot开发效率的Idea插件:Spring Boot Helper
一、Spring Boot Helper插件介绍 Spring Boot Helper是一款专为Spring Boot开发者设计的IntelliJ IDEA插件,它提供了丰富的功能来简化和加速Spring Boot应用程序的开发过程。 该插件能够智能识别Spring Boot项目结构,提供专属的代码生成、配置辅助和运…...
【USTC 计算机网络】第三章:传输层 - 面向连接的传输:TCP
本文介绍了面向连接的传输协议:TCP,首先介绍 TCP 报文段的结构以及如何设置超时定时器,接着介绍 TCP 如何实现可靠数据传输以及流量控制,最后介绍 TCP 中最重要的三次握手与四次挥手的连接建立与关闭过程。 1. TCP 概述与段结构 …...
Linux主要开发工具之gcc、gdb与make
此系列还有两篇,大家想完整掌握可以阅读另外两篇 Linux文本编辑与shell程序设计-CSDN博客 Linux基础知识详解与命令大全(超详细)-CSDN博客 1.gcc编译系统 1.1 文件名后缀 文件名后缀 文 件 类 型 文件名后缀 文 件 类 型 .c C源…...
23种设计模式-行为型模式-观察者
文章目录 简介问题解决代码关键实现说明 总结 简介 观察者是一种行为设计模式, 允许你定义一种订阅通知机制, 可在事件发生时通知多个“观察/订阅”该对象的其他对象。 问题 假如你有两种类型的对象: 顾客和商店。顾客对某个新品非常感兴趣࿰…...
去中心化预测市场
去中心化预测市场 核心概念 预测市场类型: 类别型市场:二元结果(YES/NO),例如“BTC在2024年突破10万美元?” 多选型市场:多个选项(如总统候选人),赔付基于…...
springboot-ai接入DeepSeek
1、引入pom依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency><dependencyManagement><dependencies><dependency><groupId>o…...
【C语言】数据在内存中的储存(整形)
目录 前言: 预备知识 整数在内存中的储存 原码 反码 补码 总结: 前言: 在上两章中讲解了五大内存函数,其中memchr函数,这个函数考察到数据内存的存储。 接下来为大家讲解整数在内存中的储存。 预备知识 认识…...
PCL 树木树干粗提取(地基数据,TLS)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 主要的思路如下: 1、首先,使用之前的CSF算法提取点云的地面点,在提取的过程中我们可以得到一个布料结构(地面模型)。 2、在得到这个布料结构之后,我们也就可以得到整个地面模型的高度了,之后我们只需要遍历每…...
Spring 中的 IOC
🌱 一、什么是 IOC? 📖 定义(通俗理解): IOC(Inversion of Control,控制反转) 是一种设计思想:对象不再由你自己创建和管理,而是交给 Spring 容器…...
尚硅谷2019版Java集合和泛型
第十一章 Java集合框架 集合框架全景图 mindmaproot((Java集合))Collection单列List有序可重复ArrayListLinkedListVectorSet无序唯一HashSetLinkedHashSetTreeSetMap双列HashMapLinkedHashMapTreeMapHashtablePropertiesToolsCollectionsArrays三大核心接口对比 特性ListSe…...
车载诊断架构 --- 整车重启先后顺序带来的思考
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...
华为eNSP:实验 配置单区域集成ISIS
单区域集成ISIS是一种基于中间系统到中间系统(IS-IS)协议的网络架构优化方案,主要用于简化网络设计并提升数据传输效率。其核心特点包括: 单一区域部署 ISIS协议在单一逻辑区域内运行,消除多区域间的分层复杂性&am…...
常见框架漏洞(五)----中间件IIS6
一、【PUT漏洞】 漏洞描述:IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写⼊的权限,造成任意⽂件上传。 版本:IIS 6.0 1. 环境 fofa搜素环境:"IIS-6.0" 或者环境搭建:本地搭建2003…...
leetcode221.最大正方形
class Solution {public int maximalSquare(char[][] matrix) {int result 0; // 记录正方形边长int m matrix.length, n matrix[0].length;int[][] dp new int[m 1][n 1];// 动态规划for (int i 1; i < m; i) {for (int j 1; j < n; j) {if (matrix[i - 1][j - …...
C++实现AVL树
一 AVL树的概念 上上节我们学习了二叉搜索树,他的理想查找的时间复杂度是o(log n),但是如果是下面这种情况,那么它的时间复杂度就会变成o(n). 这种情况就是出现一边高的那种,它的个数和它的高度相差不大。 那么这样就会把二叉搜索…...
Linux系统安全及应用
目录 一.账号安全措施 1.1系统账号清理 1.1.1将非登录用户的shell设为无法登录 1.1.2删除无用用户 userdel 1.1.3锁定账号文件 1.1.4锁定长期不使用的账号 1.2密码安全控制 1.2.1 对新建用户 1.2.2对已有用户 1.3命令历史限制 1.3.1临时清除历史命令 1.3.2限制命令…...
JAVA反序列化深入学习(十三):Spring2
让我们回到Spring Spring2 在 Spring1 的触发链上有所变换: 替换了 spring-beans 的 ObjectFactoryDelegatingInvocationHandler使用了 spring-aop 的 JdkDynamicAopProxy ,并完成了后续触发 TemplatesImpl 的流程 简而言之,换了一个chain&am…...
迭代器运算详解(四十二)
1. 迭代器的随机访问运算 对于 vector 和 string 这样的容器,它们的迭代器支持以下随机访问运算符: 运算符说明iter n返回一个新的迭代器,该迭代器比原来的迭代器 iter 向前移动了 n 个位置(即指向后面的第 n 个元素࿰…...
Linux中Squid服务常用操作
在 Linux 中 Squid 服务常用操作介绍 1. Squid 基础操作 启动 Squid # 前台启动(调试用) squid -N -d 1# 后台启动(-s 表示将日志输出到 syslog) squid -s停止 Squid # 安全停止(需配置 pid_file) squid…...
Linux操作系统--进程的概念
目录 1.了解进程前的前景知识 冯诺依曼体系结构 操作系统(OS) 2.进程 2.1进程的概念 2.2描述进程-PCB 2.2.1task_struct 2.3查看进程 2.4通过系统调用获取进程的标识符 2.5认识fork()--创建进程 该专栏会持续更新 更新时间一周一更。下周更新内容进程状态 1.了解进程前…...
C++假期练习
思维导图 牛客练习...
HTML零基础入门笔记:狂神版
前言 本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。 【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客 第3章&…...
算法竞赛备赛——【图论】链式前向星
图论 图的存储方式: 通用的三种:邻接矩阵、邻接表、边集数组 有向图:十字链表 无向图:多重邻接表 刷题常用:邻接矩阵、链式前向星(邻接表变形) 链式前向星 算法题常用: 邻接矩阵、二维vector模…...
JAVA_类和对象
目录 1.面向对象的初步认知 1.1.什么是面向对象 1.2.面向对象与面向过程 2.类的定义和使用 2.1.简单认识类 2.2类的定义格式 2.3.练习 学生类 动物类(可爱猫猫🐱) 3.类的实例化 3.1.什么是实例化 3.2.类和对象的说明 4.this引用…...
高频面试题(含笔试高频算法整理)基本总结回顾65
干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…...
数据库系统-数据库控制
并发控制 事务的ACID特性: 原子性(Atomicity):事务包含的所有操作要么全部成功(commit提交),要么全部失败(rollback回滚)一致性(Consistency)&a…...
Python Cookbook-5.3 根据对象的属性将对象列表排序
任务 需要根据各个对象的某个属性来完成对整个对象列表的排序。 解决方案 DSU方法仍然一如既往地有效: def sort_by_attr(sed,attr):intermed [ (getattr(x,attr),i,x) for i,x in enumerate(seg)]intermed.sort()return [ x[-1] for x in intermed def sort_by_attr_inpl…...
Java MCP SDK 开发笔记(一)
MCP 简介 AI 大模型诞生之初,其高度模拟人的对话之能力惊为天人。但我们肯定不希望止步于此—— 工具化就是我们希望 AI 能够完成的目标,由此可以从单纯的对话发展为代替繁复人力的“干活”。这条道路上毋庸置疑 AI 大模型任重道远。而 MCP(Model Contr…...
AF3 OpenFoldDataLoader类_prep_batch_properties_probs方法解读
AlphaFold3 data_modules 模块的 OpenFoldDataLoader 类的 _prep_batch_properties_probs 方法是为每个批次数据准备 recycling 维度 的概率分布。它将根据配置文件中的设定为每个批次数据生成 recycling 轮次的概率分布,并存储到 prop_probs_tensor 中,用于后续抽样选择特定…...
寻找字符串数组中的最长共同前缀字符串
问题描述:给定一个字符串数组 strs,编写一个函数来找到这些字符串的最长公共前缀字符串,如果没有则返回空字符串"" 算法思路 横向扫描法: 从数组的第一个字符串开始,逐个和后面的字符串比较,逐…...
leetcode_数组 56. 合并区间
56. 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:int…...
Jenkins学习(B站教程)
文章目录 1.持续集成CI2.持续交付CD3.持续部署4.持续集成的操作流程5.jenkins简介6.后续安装部署,见视频 bilibili视频 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用…...
学习笔记—C++—类和对象(一)
目录 类和对象 类的定义 类定义格式 访问限定符 类域 实例化 实例化概念 对象的大小 this指针 C和C语言实现Stack对比 类和对象 类的定义 类定义格式 ● class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后…...
PyTorch 深度学习 || 6. Transformer | Ch6.3 Transformer 简单案例
1. 简单案例 这个代码是一个简单的 Transformer 模型的实现,这个例子展示了一个基本的序列到序列(seq2seq)任务,比如将一个数字序列转换为另一个数字序列。可以用于学习和理解 Transformer 的基本结构和工作原理。 import torch import torch.nn as nn import math# 位置…...
体育风暴篮球足球体育球员综合资讯网站模板
源码名称:篮球足球体育球员综合资讯网站模板 开发环境:帝国cms7.5 空间支持:phpmysql 带软件采集,可以挂着自动采集发布,无需人工操作! 演示地址:https://www.52muban.com/shop/184016.html …...
Visual Studio Code SSH 连接超时对策( keep SSH alive)
文章目录 问题解决方法一:配置服务端关于ClientAliveInterval和ClientAliveCountMax1、打开终端,打开SSH配置文件:输入以下命令:2、打开配置文件后,添加以下内容:3、添加后,Esc按 <Enter>…...
Docker容器中的ubuntu apt update报错 解决办法
问题现象 # apt update Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB] Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB] Err:2 http://security.ubuntu.com/ubuntu noble-security InRelease At least one invalid signa…...
CV - 目标检测
物体检测 目标检测和图片分类的区别: 图像分类(Image Classification) 目的:图像分类的目的是识别出图像中主要物体的类别。它试图回答“图像是什么?”的问题。 输出:通常输出是一个标签或一组概率值&am…...
linux提权 corn 提权
corn提权 corn的基本使用方法 corn的作用就是可以定时的完成一下任务(如备份一下log 或者清除一下日志文件 这些就是运维人员用的) 先找一下定时任务的工作表 cat /bin/corntab 这个是普通用户 我们直接看都看不了 说明什么说明这个 是root高权限执…...
1Panel安装失败 国内docker安装失败
本文仅针对学习交流,只为了帮助计算机相关专业大学生个人技能实操而记录 非学习目的严禁学习!!!否则后果自负 1、离线安装1Panel(不需要手动安装docker,离线安装包里包括了docker) 离线包下载地…...
Excel + VBA 实现“准实时“数据的方法
Excel 本身是静态数据处理工具,但结合 VBA(Visual Basic for Applications) 可以实现 准实时数据更新,不过严格意义上的 实时数据(如毫秒级刷新)仍然受限。以下是详细分析: 1. Excel + VBA 实现“准实时”数据的方法 (1) 定时刷新(Timer 或 Application.OnTime) Appl…...
请问你怎么看待测试,指导哪些测试的类型,有用过哪些测试方法?
作为深耕测试领域多年的博主,我始终认为测试是软件质量的守护者,更是推动研发流程优化的催化剂。以下从测试认知、分类体系到实战方法论,结合具体案例为你系统拆解: 一、测试的本质认知 测试≠找 Bug,而是通过系统性验证回答三个核心问题: 软件是否符合用户需求?系统在…...