比ChatGPT4o更“聪明”的甜点级OS Copilot

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
简介: 总体来说,OS Copilot的命令行模式非常适合小白学习Linux使用,但是还不够成熟,在复杂情景下存在一定出错率,有很大进步空间。但是在部分基本常识方面秒杀部分人类和ChatGPT4o,很让我惊喜。目前OS Copilot只能用在Alibaba Cloud Linux 3有点遗憾,希望未来能够支持更多的操作系统、增加跨会话的联动功能。此外,OS Copilot作为阿里云生态的产品完全可以与安骑士和云平台的运维监控等功能打通提供更多数据能力。

比ChatGPT4o更“聪明”的甜点级OS Copilot

在写这篇文章时OS Copilot已经安装部署完毕并且正常运行了,我新开通了一台ECS来完成本次评测,以常用情景切入进行评价。如果你还没有安装可以参阅官方的帮助文档,那里有很详细的说明:https://help.aliyun.com/zh/alinux/user-guide/instructions-for-os-copilot

场景一:Linux系统上采集监控日志以FTP的方式上传至日志服务器

Prompt:我需要在Linux操作系统中安装FTP客户端。其次在服务器中创建Linux.bat,获取服务器时间、Hostname、文件系统使用率、文件系统、节点使用率、内存、CPU、进程使用率等服务器信息并写入指定的文件内,最后使用FTP上传至日志服务器中。请给出解决方案。

image.png

[Copilot]:

    Alibaba Cloud Linux 3 上安装 FTP 客户端可以使用 `yum` 命令来安装 `filezilla`

 

```bash

sudo yum install filezilla -y

```

 

接下来,你需要在服务器上编写一个名为 `Linux.bat` 的脚本(请注意,在Linux中我们通常使用`.sh`扩展名表示脚本)。这个脚本将获取服务器的时间、hostname、文件系统使用率等信息,并将其写入到一个名为 `server_info.txt` 的文件中。以下是一个简单的示例脚本:

 

```bash

#!/bin/bash

 

# 获取当前时间

current_time=$(date)

 

# 获取hostname

hostname=$(hostname)

 

# 获取文件系统使用率

df_output=$(df -h)

fs_usage=$(echo "$df_output" | awk 'NR==2 {print $5}')

 

# 获取文件系统

fs=$(echo "$df_output" | awk 'NR==2 {print $1}')

 

# 获取节点使用率

nodename=$(uname -n)

node_load=$(uptime | awk '{print $(NF-2)}')

 

# 获取内存使用情况

mem_total=$(free | grep Mem | awk '{print $2}')

mem_used=$(free | grep Mem | awk '{print $3}')

mem_percent=$(echo "scale=2; ($mem_used / $mem_total) * 100" | bc)

 

# 获取CPU使用情况

cpu_percent=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

 

# 获取进程数量

process_count=$(ps axo comm | wc -l)

 

# 将所有信息写入文件

echo "Current Time: $current_time" > server_info.txt

echo "Hostname: $hostname" >> server_info.txt

echo "File System Usage: $fs_usage" >> server_info.txt

echo "File System: $fs" >> server_info.txt

echo "Node Name: $nodename" >> server_info.txt

echo "Node Load: $node_load" >> server_info.txt

echo "Memory Usage: $mem_percent%" >> server_info.txt

echo "CPU Usage: $cpu_percent%" >> server_info.txt

echo "Process Count: $process_count" >> server_info.txt

```

 

保存此脚本后,记得赋予执行权限:

 

```bash

chmod +x Linux.sh

```

 

然后运行此脚本来生成 `server_info.txt` 文件。

 

最后,你可以使用 FileZilla 客户端将 `server_info.txt` 上传到日志服务器。以下是基本步骤:

 

1. 打开 FileZilla

2. 在左侧栏中点击“站点管理器”(Site Manager)。

3. 点击“新建”(New Site)按钮。

4. 输入新站点的详细信息,包括主机名(Host)、用户名(User)、密码(Password)以及端口(Port,通常是21)。

5. 点击“连接”(Connect)按钮以连接到日志服务器。

6. 在右侧栏中浏览日志服务器上的目录。

7. `server_info.txt` 拖拽到右侧栏中的相应位置,或者右键点击目标目录,选择“上传”(Upload)。

 

注意:这些步骤假设你已经知道日志服务器的登录凭据和网络设置。如果没有,请与系统管理员联系以获取必要的信息。

 

[Copilot]发现如下命令:

    1. sudo yum install filezilla -y

    2. current_time=$(date)

  

       hostname=$(hostname)

  

       df_output=$(df -h)

       fs_usage=$(echo "$df_output" | awk 'NR==2 {print $5}')

  

       fs=$(echo "$df_output" | awk 'NR==2 {print $1}')

  

       nodename=$(uname -n)

       node_load=$(uptime | awk '{print $(NF-2)}')

  

       mem_total=$(free | grep Mem | awk '{print $2}')

       mem_used=$(free | grep Mem | awk '{print $3}')

       mem_percent=$(echo "scale=2; ($mem_used / $mem_total) * 100" | bc)

  

       cpu_percent=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

  

       process_count=$(ps axo comm | wc -l)

  

       echo "Current Time: $current_time" > server_info.txt

       echo "Hostname: $hostname" >> server_info.txt

       echo "File System Usage: $fs_usage" >> server_info.txt

       echo "File System: $fs" >> server_info.txt

       echo "Node Name: $nodename" >> server_info.txt

       echo "Node Load: $node_load" >> server_info.txt

       echo "Memory Usage: $mem_percent%" >> server_info.txt

       echo "CPU Usage: $cpu_percent%" >> server_info.txt

       echo "Process Count: $process_count" >> server_info.txt

    3. chmod +x Linux.sh

 

[Copilot]: 请选择要执行的命令,从[1, 3]中进行选择,回复'n''no'进行取消,回复'r''retry'重新生成回答。

请输入:

评价:脚本生成的没有问题,但是FTP上传的部分存在问题,OS Copilot告诉我们应该使用 FileZilla 客户端将`server_info.txt` 上传到日志服务器然后给出了一连串FileZilla客户端的操作。问题在于这些操作在Windows系统中可行,Alibaba Cloud Linux 3根本没有图形化界面。OS Copilot在相对复杂的问题下表现不佳,但优化prompt表达能弥补部分缺陷。

该问题相对合理的方法是将通过FTP上传文件这一操作也写入脚本中。

# 设置FTP凭证(在实际环境中,这些变量应该在环境中设置) FTP_SERVER="192.168.1.90" FTP_USER=${FTP_USER:-"your_ftp_username"} FTP_PASS=${FTP_PASS:-"your_ftp_password"}

这个示例使用lftp工具,配置了FTPS传输,并包含了错误处理机制:

# 检查FTP凭证是否设置 if [ -z "$FTP_USER" ] || [ -z "$FTP_PASS" ]; then echo "FTP用户名或密码未设置" >&2 exit 1 fi # 使用lftp进行安全的FTPS上传 lftp -e " set ftp:ssl-allow yes open $FTP_SERVER user $FTP_USER $FTP_PASS put $filename -o ftp.log bye " || { echo "日志文件上传失败" >&2 exit 1 } echo "日志文件上传成功"

 

场景二:配置NFS服务

Prompt:配置NFS服务

[Copilot]:

    要在Alibaba Cloud Linux 3 上配置 NFSNetwork File System)服务,你需要按照以下步骤操作:

 

1. 首先,你需要安装 `nfs-utils` 包,它包含了 NFS 服务器所需的组件。使用 yum 工具来完成这个任务:

   ```bash

   sudo yum install nfs-utils

   ```

 

2. 安装完成后,你需要编辑 NFS 的配置文件来指定哪些目录可以被共享。默认情况下,配置文件位于 `/etc/sysconfig/nfs` 。打开并编辑此文件:

   ```bash

   sudo vi /etc/sysconfig/nfs

   ```

   在 `[nfsv4]` `[nfsv4.1]` 段落下添加要共享的目录,比如:

   ```makefile

   # 共享目录路径及访问权限

   export_dir="/path/to/your/shared/directory"

   # 访问主机列表

   hosts_allow="*"

   ```

 

   保存并关闭文件。

 

3. 创建一个你要共享的目录(如果尚未创建),并设置适当的权限:

   ```bash

   sudo mkdir -p /path/to/your/shared/directory

   sudo chmod -R 777 /path/to/your/shared/directory

   ```

 

4. 开启并启用 NFS 服务:

   ```bash

   sudo systemctl start nfs-server

   sudo systemctl enable nfs-server

   ```

 

5. 如果你的网络防火墙是活跃的,可能需要开启 NFS 相关端口(通常是 TCP UDP 端口 2049)。可以使用 firewall-cmd 命令进行配置:

   ```bash

   sudo firewall-cmd --permanent --add-service=nfs

   sudo firewall-cmd --reload

   ```

 

6. 重启 NFS 服务以应用更改:

   ```bash

   sudo systemctl restart nfs-server

   ```

 

现在 NFS 服务已经配置好,其他系统可以通过网络访问你在第2步中指定的共享目录了。

 

注意:在实际生产环境中,强烈建议不要使用 `hosts_allow="*"` 这样宽松的访问控制,而是具体列出允许访问的IP地址或子网,以提高安全性。此外,确保为共享目录设置合适的权限,只允许必要的操作。

评价`nfs-utils` 包是Alibaba Cloud Linux 3 上默认安装的包,并且通过检索文件发现nfs配置文件并不位于 `/etc/sysconfig/nfs`,而在/etc/nfs.conf

image.png

场景三:小学数学

image.png

image.png

这是一个部分人类和ChatGPT4o都回答错误的小学数学题,我们看看OS Copilot表现如何。

image.png

Prompt13.11大于13.8评价:OS Copilot赢了,它用及其细致的分析告诉了我们13.11并没有大于13.8

总体来说

总体来说,OS Copilot的命令行模式非常适合小白学习Linux使用,但是还不够成熟,在复杂情景下存在一定出错率,有很大进步空间。但是在部分基本常识方面秒杀部分人类和ChatGPT4o,很让我惊喜。目前OS Copilot只能用在Alibaba Cloud Linux 3有点遗憾,希望未来能够支持更多的操作系统、增加跨会话的联动功能。此外,OS Copilot作为阿里云生态的产品完全可以与安骑士和云平台的运维监控等功能打通提供更多数据能力。

目录
打赏
0
0
0
0
48
分享
相关文章
操作系统智能助手OS Copilot新功能
我是一名公司前端开发人员,专注于官网和H5页面的开发,涵盖页面构建、交互逻辑及性能优化。主要负责静态和移动端页面开发,不直接涉及云资源运维,但在项目部署时会接触云服务器。 关于Copilot的使用体验:安装过程顺畅,目前功能较少,建议增加更多功能和中文支持。核心功能包括-t代理模式(实现黑客帝国代码瀑布效果但未达预期)、-f读取文件(生成随机字符接近目标但仍需改进)和管道功能(稳定性欠佳)。总体而言,-t/-f选项实用,管道功能需完善。
OS Copilot全面测评报告 与 利用OS Copilot进行在线WebAPI接口开发
OS Copilot 是一款智能操作系统助手,具备智能、专业、高效和协作四大优势。本文通过全面测评其功能,验证了其在系统诊断、调优及编程等场景中的表现,并通过在线WebAPI接口开发测试进一步评估其快速接口开发上线的能力。具体步骤包括ECS环境配置、OS Copilot安装与配置、-t/-f参数功能测试、管道测试以及利用OS Copilot进行Python WebAPI开发。最终结果显示,OS Copilot能够显著提升开发效率,解决了便捷开发中的临时接口开发问题,整体体验非常满意。建议增加-s参数以保存上下文,进一步增强交互性。
117 12
OS Copilot全面测评报告 与 利用OS Copilot进行在线WebAPI接口开发
|
26天前
云产品评测|操作系统智能助手OS Copilot新功能获奖名单公布!
云产品评测|操作系统智能助手OS Copilot新功能获奖名单公布!
136 9
OS Copilot 深度测评报告
OS Copilot 是阿里云推出的一款基于大语言模型的操作系统智能助手,专为Linux用户设计。它结合了自然语言处理的最新成果和阿里云团队的实践经验,提供专业、高效、智能的操作体验。评测基于阿里云ECS实例进行,重点测试了-t、-f和管道参数功能,显著提升了性能与效率。用户反馈整体满意,建议增强稳定性和丰富帮助文档。OS Copilot为Linux用户带来了全新的交互方式和更高的工作效率。
54 14
OS Copilot 深度测评报告
操作系统智能助手OS Copilot新功能
我是一名专注于公司官网和H5页面开发的前端工程师,主要负责页面构建、交互逻辑及性能优化。近期使用GitHub Copilot进行开发辅助,体验如下: 1. **安装与初步使用**:安装过程顺利,但目前功能较少,建议增加更多功能和中文支持。 2. **核心功能体验**: - **-t 代理模式**:尝试实现《黑客帝国》代码瀑布效果,但未能完全达到预期。 - **-f 文件读取**:通过文件描述需求,生成随机字符文本,接近目标但仍需改进。 - **管道功能**:处理代码解释时稳定性欠佳,有待完善。 总体而言,Copilot的-t/-f选项实用,但连续对话和管道功能还需提升。
操作系统智能助手OS Copilot新功能
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
157 10
云产品评测|操作系统智能助手OS Copilot新功能
我是一名测试工程师,主要负责App和Web端的测试,有时会使用阿里云服务器进行服务端问题定位及数据库等云资源的操作。在使用OS Copilot过程中遇到了一些问题: 1. **命令执行失败**:在解决Vim中文乱码时,Copilot建议的命令看似正确,但实际并未创建或修改`.vimrc`文件。 2. **任务文件解析问题**:使用`-f`功能解析任务文件时,Copilot未能正确执行获取容器日志的任务。 3. **管道功能不稳定**:管道功能对文件内容解释有效,但在某些情况下需要更明确的提示词才能正常工作。
评测报告:OS Copilot 功能体验与效率提升
作为一名运维工程师,我体验了阿里云OS Copilot智能助手。选择Alibaba Cloud Linux ECS实例安装并运行OS Copilot,通过命令`sudo yum install -y os-copilot`完成安装。重点测试了-t、-f及管道功能:-t参数提升任务执行效率约30%,-f实现一键处理复杂任务,管道功能简化参数理解与配置。整体评价认为该工具实用高效,建议增加预设模板和优化自然语言理解能力。