阿里云 Cloud Shell 初体验

  • 时间:2018-12-14 23:08 作者:追光小孩者 来源:追光小孩者 阅读:1096
  • 扫一扫,手机访问
摘要:今日登陆阿里云,发现 阿里云 推出了 Cloud Shell,本以为是 一个 模拟 终端的一个小工具,体(zhe)验(teng)一番,发现 竟然 是一个 真实的 被限制的 Linux环境,基于 Alpine Linux。好兴奋,有免费的测试机玩了。。。。常用命令都被软关联到了 busybox。测试了

今日登陆阿里云,发现 阿里云 推出了 Cloud Shell,本以为是 一个 模拟 终端的一个小工具,体(zhe)验(teng)一番,发现 竟然 是一个 真实的 被限制的 Linux环境,基于 Alpine Linux。好兴奋,有免费的测试机玩了。。。。

阿里云 Cloud Shell 初体验

常用命令都被软关联到了 busybox。测试了下 gcc、apt-get、yum、rpm统统没有,这样就有点鸡肋了,除了自带的工具啥都不能安装。好在默认安装了 Python、SSH、curl等工具,pip由于权限太低不能安装库。

阿里云 Cloud Shell 初体验

看了下 shell 中的核心命令 aliyun,功能还是很强大的,基本所有 业务都可以操作。

阿里云 Cloud Shell 初体验

之前 做过 域名API 相关的开发,拿域名入手,aliyun domain –help 可以看到 域名支持的操作,点击 链接可以进入 域名的API 文档。经过测试,API中的所有操作都可以 支持(很多在 命令帮助中 看不到),比方:QueryDomainList。

阿里云 Cloud Shell 初体验

阿里的域名导出不太好用,用 QueryDomainList 接口,做个 域名导出工具,练练手。根据文档,必需的参数 有 PageNum、PageSize。 执行 aliyun domain QueryDomainList –PageNum 1 –PageSize 10000,就获取到了 每页10000条,第一个 的域名数据。将 输出的 JSON 信息 上传到 服务器解决(比方PHP),生成 csv 下载。

阿里云 Cloud Shell 初体验

经过测试 PageSize 最大值为 1000,我 公司账号里有上万条域名数据,需要分多页下载。考虑到 HTTP 请求的限制,每次只上传 100 个域名信息。经过一下午的摸索,终于 完美的实现了这个小功能。经过优化,已经比较完美了。按照 Linux 下的惯例, 只要要复制一行 命令即用。

阿里云 Cloud Shell 初体验

最终生成的文件如下:

阿里云 Cloud Shell 初体验

完整的PHP源码如下:

<?php

/**
* 文件:domain.php
* 作者:mqycn
* 博客:http://www.miaoqiyuan.cn
* 源码:http://www.miaoqiyuan.cn/p/aliyun-cloud-shell
* 说明:阿里云 Cloud Shell 一键 导出所有域名
*/

define('APP_PATH', 'http://www.miaoqiyuan.cn/products/alishell/'); //安装目录
define('APP_URL', APP_PATH . 'domain.php'); //程序路径
define('APP_ACTION', isset($_GET['action']) ? $_GET['action'] : ''); //请求方法

//读取 YunShell 上传的信息
$data = json_decode(file_get_contents("php://input"), true);
if (!empty($data) &amp;&amp; isset($data['Data']) &amp;&amp; isset($data['Data']['Domain'])) {

switch (APP_ACTION) {

case 'tocsv':
//分页上传域名数据
if (!isset($_GET['key']) &amp;&amp; !is_numeric($_GET['key'])) {
die("Key Error!");
}
$tmp_key = $_GET['key'];
$csv_data = '';
foreach ($data['Data']['Domain'] as $item) {
foreach ($item as $val) {
$csv_data .= $val . "\t";
}
$csv_data .= "\n";
}
$file_name = $tmp_key . '.txt';
file_put_contents($file_name, $csv_data, FILE_APPEND);
echo "Update: " . APP_PATH . "${file_name}";
break;

default:
//根据 总页数 生成 脚本
if (isset($data['TotalPageNum']) &amp;&amp; is_numeric($data['TotalPageNum'])) {
$page_all = (int) $data['TotalPageNum'];
echo "\n\necho All:{$page_all}\n";
$tmp_key = date('Ymdhis');
for ($page_id = 1; $page_id <= $page_all; $page_id++) {
echo "\necho Download {$page_id}/${page_all}\n";
echo 'curl "' . APP_URL . '?action=tocsv&amp;key=' . $tmp_key . '" --data "`' . "aliyun domain QueryDomainList --PageNum ${page_id} --PageSize 100" . '`"';
}
}
break;
}

//结尾输出换行,防止影响提醒符
die("\n");
} else {
//直接访问,输出调用命令
echo 'curl ' . APP_URL . ' --data "`aliyun domain QueryDomainList --PageNum 1 --PageSize 100`"|bash';
}
?>

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】【Azure API Management】实目前API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account(2025-10-16 23:53)
【系统环境|】【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this opera...(2025-10-16 23:52)
【系统环境|】YouTube账号购买全攻略|点击查看原文购买|购买YouTube账号、油管号自动发货服务的优势与缺点 附:YouTube无法加载?可能是这个设置在作怪!(2025-10-16 23:52)
【系统环境|】【Azure Developer】Azure Automation 自动化账号生成的时候怎么生成连接 与证书 (Connection & Certificate)(2025-10-16 23:41)
【系统环境|】【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置(2025-10-16 23:40)
【系统环境|】近日,四川宜宾,某地下停车场内的监控拍到了一幕惊险的画面。危险!一汽车修理师傅正在修理一辆3吨重的悍马时,悍马车突然自己启动,眼看就要撞向前面的一辆灰色轿车了,一侧的修理师傅做出了一个令人始料不...(2025-10-16 23:38)
【系统环境|】iOS 能耗监控与电池优化实战:如何查看App耗电量、分析CPU、GPU内存使用、(uni-app iOS开发性能调试指南)(2025-10-16 23:37)
【系统环境|】《风流女管家》法国犯罪悬疑片--《风流女管家》法语高清全集免费在线无广告完整观看---《风流女管家》HD正版免费播放-手机电脑皆可看(2025-10-16 23:36)
【系统环境|】2025含金量排名前十计算机专业证书(2025-10-15 20:51)
【系统环境|】你有白帽众测 我有黑帽雇佣(2025-10-15 20:50)
手机二维码手机访问领取大礼包
返回顶部