在云资源运维与自动化工作流当中,命令行工具凭借执行高效、可脚本化、便于流水线集成的优势,是运维工程师、开发人员必不可少的工具。阿里云CLI作为官方统一命令行工具,经过重大版本迭代,3.3.0及以上版本全面启用插件化架构,解决旧版CLI程序包体积臃肿、更新繁琐、各产品命令风格不统一的痛点。本文从底层架构特性、多平台安装部署、身份凭证配置、插件生命周期管理、命令基础用法、高级能力、真实业务实战、故障排查多个维度完整讲解新版阿里云CLI,附带大量可直接复制运行的命令脚本,帮助使用者快速上手,完成云资源批量管理与自动化运维落地。
一、新版阿里云CLI定位与插件化架构解析
阿里云CLI是官方出品的统一命令行管理工具,核心目标是实现一套工具、全产品覆盖、命令统一、自动化高效运维。3.3.0版本带来最核心的架构升级,采用插件化设计,各个云产品API能力被封装成独立插件,由CLI主程序统一调度,实现按需加载、独立迭代更新、命令风格标准化。详情👉访问阿里云百炼 CLI 页面 或
详情👉访问阿里云百炼大模型服务平台页面 了解

插件化架构五大核心优势
- 按需加载,程序轻量运行:使用者只需要安装业务用到的云产品插件,不用下载全部产品命令集,大幅缩减CLI整体体积,加快程序启动速度。
- 插件独立更新迭代:各个产品插件拥有独立版本,云产品发布新接口新功能时,只需要更新对应插件,不需要升级CLI主程序,适配云产品快速迭代节奏。
- 统一短横线命名规范:全部插件命令统一采用kebab‑case短横线命名,例如
describe‑instances,告别旧版API驼峰命名,命令可读性更强,记忆成本更低。 - 底层参数自动序列化:用户只需要输入简单键值对参数,CLI自动完成底层API参数转换、序列化处理,使用者不用钻研OpenAPI底层细节,降低上手门槛。
- 完善内置帮助体系:任意命令追加
--help参数,就可以查看产品、子命令、每一项参数说明,包含参数类型、是否必填字段,不查阅网页文档也可以快速调试命令。
新版插件架构与旧版核心差异
旧版(3.3.0以下)属于OpenAPI透传代理,命令直接复用API驼峰名称,例如DescribeInstances,参数沿用原始API参数‑‑RegionId。新版插件架构对命令、参数、输出格式做友好封装,底层依旧调用相同OpenAPI接口;同时向下兼容旧版语法,原有存量脚本可以继续运行,支持平滑迁移,使用者可以分阶段改造已有脚本。
插件文件存储位置:
- Linux/macOS:
~/.aliyun/plugins - Windows:
C:\Users\<USER_NAME>\.aliyun\plugins
插件清单保存在目录内manifest.json,建议通过CLI命令管理插件,不建议手动修改该配置文件。
二、多平台安装以及身份凭证配置
阿里云CLI完整支持Linux、macOS、Windows操作系统,提供脚本一键部署、二进制包手动安装、msi安装包多种方式。详情👉访问阿里云百炼 CLI 页面 或
详情👉访问阿里云百炼大模型服务平台页面 了解

2.1 Linux / macOS系统安装
一键脚本安装(推荐)
#下载并且执行官方安装脚本
curl -fsSL https://aliyuncli.alicdn.com/install.sh | sudo bash
#校验安装,打印版本号确认大于等于3.3.0
aliyun version
手动二进制包安装:前往官方发布页面下载对应系统二进制压缩包,解压,将aliyun可执行文件移动到/usr/local/bin,赋予执行权限。
chmod +x /usr/local/bin/aliyun
aliyun version
2.2 Windows系统安装
下载msi格式Windows安装包,双击运行安装向导完成部署。安装结束后打开CMD或者PowerShell执行:
aliyun version
能够正常打印版本号代表安装成功。
2.3 身份凭证多种配置方式
CLI支持交互式配置文件、环境变量、OAuth、STS临时凭证,适配个人调试、多账号开发、CI/CD流水线自动化等不同场景。
1)交互式配置,适合个人本地开发
#生成default默认配置文件,交互式输入AccessKey ID、AccessKey Secret、默认地域、输出格式json/table/text
aliyun configure
2)多套配置文件,管理开发、生产多套账号
#创建开发环境配置profile dev
aliyun configure --profile dev
#创建生产环境配置profile prod
aliyun configure --profile prod
#切换激活使用prod配置
aliyun configure switch --profile prod
#查看本机全部配置列表
aliyun configure list
3)环境变量配置,适合CI/CD自动化流水线
#Linux/macOS终端设置环境变量
export ALIBABA_CLOUD_ACCESS_KEY_ID="your‑access‑key‑id"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="your‑access‑key‑secret"
export ALIBABA_CLOUD_REGION_ID="cn‑hangzhou"
#简单调用验证
aliyun ecs describe‑regions
#Windows CMD设置环境变量
set ALIBABA_CLOUD_ACCESS_KEY_ID=your‑access‑key‑id
set ALIBABA_CLOUD_ACCESS_KEY_SECRET=your‑access‑key‑secret
set ALIBABA_CLOUD_REGION_ID=cn‑hangzhou
4)OAuth认证,适合企业安全场景,避免长期AccessKey泄露
aliyun configure --profile OAuthProfile --mode OAuth
#跟随终端提示打开浏览器完成RAM账号授权登录
aliyun ecs describe‑regions --profile OAuthProfile
2.4 开启命令自动补全,提升操作效率
bash、zsh终端支持Tab自动补全产品、命令、参数。
#bash开启自动补全
echo "source <(aliyun completion bash)" >> ~/.bashrc
source ~/.bashrc
#zsh开启自动补全
echo "source <(aliyun completion zsh)" >> ~/.zshrc
source ~/.zshrc
#测试,输入后按下Tab看补全提示
aliyun ecs des
三、插件完整生命周期管理命令
所有云产品操作都依赖对应插件,3.3.0版本默认开启自动安装,执行未安装插件对应的命令,CLI会自动提示下载对应插件。
#查看本机已经安装的插件列表
aliyun plugin list
#查看全部可下载的插件
aliyun plugin list --all
#安装单个插件,示例ecs、oss
aliyun plugin install --name ecs
aliyun plugin install --name oss
#一次性批量安装多个插件
aliyun plugin install --names ecs,oss,cs
#卸载指定插件
aliyun plugin uninstall --name ecs
#更新本机全部已安装插件
aliyun plugin update
#单独更新某一个插件
aliyun plugin update --name ecs
#查看插件详细信息
aliyun plugin show --name ecs
#自动安装演示:首次执行ecs命令,自动下载ecs插件
aliyun ecs describe‑instances
aliyun plugin list
四、统一命令结构,基础业务实操示例
新版统一命令格式:aliyun <产品Code> <子命令> [全局参数] [业务参数]。
- 全局参数:控制CLI本身行为,输出格式、模拟运行、指定配置profile;
- 业务参数:传递给云产品OpenAPI接口。
4.1 ECS云服务器常用操作
#查询全部可用地域
aliyun ecs describe‑regions --accept‑language zh‑CN
#查询杭州地域实例列表,表格形式输出
aliyun ecs describe‑instances --region‑id cn‑hangzhou --output table
#查询指定实例详情
aliyun ecs describe‑instances --region‑id cn‑hangzhou --instance‑ids i‑bp1xxxxxx
#创建ECS实例(参数需要替换成自己镜像、安全组、交换机ID)
aliyun ecs run‑instances --region‑id cn‑hangzhou --image‑id centos_7_9_x64_20G_alibase_2024xxxx --instance‑type ecs.g6.large --security‑group‑id sg‑bp1xxxxxx --vswitch‑id vsw‑bp1xxxxxx
4.2 OSS对象存储操作
#列举全部bucket存储桶
aliyun oss list‑buckets --region‑id cn‑hangzhou
#上传本地文件到oss bucket
aliyun oss put‑object --bucket my‑bucket --key test.txt --body /local/path/test.txt
#下载oss文件保存本地
aliyun oss get‑object --bucket my‑bucket --key test.txt --file /local/path/test.txt
#批量下载前缀data下全部文件到本地目录
aliyun oss download‑to‑dir --bucket my‑bucket --prefix data/ --local‑dir /local/data --replace true
4.3 容器服务CS集群操作
#查询集群列表
aliyun cs describe‑clusters --region‑id cn‑hangzhou
#读取本地json文件作为请求体创建节点池(Linux/macOS)
aliyun cs put /clusters/c1234xxxx/nodepools/np5678xxxx --body "$(cat request.json)"
#查询集群节点列表
aliyun cs describe‑cluster‑nodes --cluster‑id c1234xxxx --region‑id cn‑hangzhou
五、高级特性:模拟执行、过滤输出、脚本自动化
5.1 高频全局参数
#table表格输出,便于阅读
aliyun ecs describe‑instances --output table
#‑‑cli‑dry‑run模拟执行,仅校验参数,不调用真实API
aliyun ecs run‑instances --cli‑dry‑run --region‑id cn‑hangzhou --image‑id centos_7_9 --instance‑type ecs.g6.large
#‑‑pager自动翻页聚合全部分页数据,不用手动处理分页token
aliyun ecs describe‑instances --region‑id cn‑hangzhou --pager
#‑‑waiter等待资源状态变更,等待实例进入运行中状态
aliyun ecs start‑instances --instance‑ids i‑bp1xxxxxx --waiter ecs:instance_running
#指定profile,切换账号执行命令
aliyun ecs describe‑instances --profile dev --region‑id cn‑hangzhou
5.2 参数高级传递,JSON文件传入复杂结构体
#Linux/macOS 使用命令替换读取json文件
aliyun cs put /clusters/c1234xxxx/nodepools/np5678xxxx --body "$(cat request.json)"
#Windows使用‑‑body‑file读取本地json
aliyun cs put /clusters/c1234xxxx/nodepools/np5678xxxx --body‑file request.json
#bash脚本内联构造JSON
aliyun cs put /clusters/c1234xxxx/nodepools/np5678xxxx --body "$(cat <<EOF
{
"nodepool_info": {
"name": "test‑nodepool",
"instance_type": "ecs.g6.large",
"desired_size": 3
}
}
EOF
)"
5.3 --filter过滤器,筛选返回字段,精简输出
#只提取实例ID、实例名称
aliyun ecs describe‑instances --region‑id cn‑hangzhou --filter Instances.Instance[*].InstanceId,Instances.Instance[*].InstanceName
#过滤镜像ID清单
aliyun ecs describe‑images --image‑owner‑alias marketplace --filter Images.Image[*].ImageId
5.4 Shell脚本批量运维示例
#!/bin/bash
REGION="cn‑hangzhou"
OUTPUT_FILE="ecs_instances.txt"
> $OUTPUT_FILE
aliyun ecs describe‑instances --region‑id $REGION --output table | grep -v "InstanceId" | awk '{print $1"\t"$2"\t"$3"\t"$4}' >> $OUTPUT_FILE
echo "ECS实例清单已经导出至 $OUTPUT_FILE"
六、实战业务场景命令集
6.1 ECS批量运维
#批量启动多台实例
aliyun ecs start‑instances --instance‑ids i‑bp1xxxxxx,i‑bp1yyyyyy,i‑bp1zzzzzz --region‑id cn‑hangzhou
#批量强制停止实例
aliyun ecs stop‑instances --instance‑ids i‑bp1xxxxxx --region‑id cn‑hangzhou --force‑stop true
#批量添加安全组放行22端口
aliyun ecs authorize‑security‑group --security‑group‑id sg‑bp1xxxxxx --region‑id cn‑hangzhou --ip‑protocol tcp --port‑range 22/22 --source‑cidr 0.0.0.0/0 --policy accept
6.2 OSS批量数据处理
#本地目录批量上传到oss
aliyun oss upload‑from‑local‑dir --bucket my‑bucket --prefix backup/ --local‑dir /local/backup --thread‑num 5
#批量删除指定前缀文件
aliyun oss delete‑objects --bucket my‑bucket --keys "data/20240101/*,data/20240102/*"
#生成临时1小时访问签名URL
aliyun oss create‑signed‑url --bucket my‑bucket --key test.txt --expire‑time 3600
6.3 安全中心资产漏洞查询
#查询存在风险的ecs资产
aliyun sas describe‑cloud‑center‑instances --criteria '[{"name":"riskStatus","value":"YES"}]' --machine‑types ecs --region‑id cn‑hangzhou
#查询CVE类型漏洞清单
aliyun sas describe‑vul‑list --region‑id cn‑hangzhou --vul‑type cve
补充:控制台内置Cloud Shell已经预装阿里云CLI,自动继承当前登录账号权限,不需要手动配置AccessKey,打开控制台云命令行即可直接执行全部命令。
七、高频问题与生产环境避坑指南
安装与配置类
- 命令找不到:确认
aliyun二进制文件已经加入系统PATH环境变量;Linux/macOS执行echo $PATH排查路径;Windows需要在系统环境变量配置。 - 凭证配置报错:核对AccessKey正确性,RAM账号需要授予对应云产品权限;自动化场景优先环境变量;多账号操作务必带上
‑‑profile。 - 自动补全不生效:仅bash/zsh支持,执行source加载补全脚本,重新打开终端会话。
插件与命令执行问题
- 插件安装失败:检查网络连通性,CLI版本≥3.3.0;Linux/macOS注意执行权限;故障可以删除
~/.aliyun/plugins目录后重新安装插件。 - 命令执行返回参数错误:新版全部使用短横线kebab‑case参数名,不要沿用旧版驼峰参数;善用
‑‑help查看参数说明;确认地域支持该云产品。 - 列表返回数据不全,缺少分页结果:列表查询命令带上
‑‑pager,自动迭代获取全部分页数据。
安全权限重点
- 权限最小化原则:尽量使用RAM子账号,不要直接使用主账号AccessKey。
- 凭证文件权限加固:Linux/macOS配置文件
~/.aliyun/config.json设置权限chmod 600 ~/.aliyun/config.json,禁止其他用户读取。 - 流水线自动化优先使用STS临时凭证,不要硬编码长期密钥进代码仓库。
八、总结展望
新版阿里云CLI依靠插件化架构,解决旧版本体积庞大、更新困难、命令风格杂乱的历史问题,做到轻量运行、按需加载、命令统一,完整覆盖各类云产品资源管理。支持多套身份凭证、命令自动补全、参数过滤、模拟预演、脚本集成,适配个人调试、企业运维、CI/CD流水线自动化各类场景,是云开发运维人员的重要工具。
随着云产品持续迭代,CLI会持续扩充插件生态,优化命令交互,增强自然语言辅助提示,深化CI/CD流水线集成能力,持续降低云资源自动化管理门槛。掌握新版CLI的安装、凭证配置、插件管理、脚本编写能力,能够极大提升云资源管理效率,简化重复运维工作。