网页访问服务器,只有粘贴板可用

你的场景是:

  • 服务器只能通过网页版远程访问(类似 Web IDE / 浏览器终端 / 云桌面)
  • 文件传输功能不可用
  • 但是剪贴板可以互通
  • 想把整个项目源码拷贝到本地

这种情况下,核心思路是:把项目文件转换成一个可复制的纯文本流,然后通过剪贴板带出来。

下面给几个方案,从简单到稳妥。


方案1:tar 打包 + base64 + 剪贴板(推荐)

这是最通用的方法。

服务器端

进入项目目录:

bash 复制代码
cd your_project

打包:

bash 复制代码
tar czf project.tar.gz .

转换成文本:

bash 复制代码
base64 project.tar.gz > project.tar.gz.b64

查看大小:

bash 复制代码
ls -lh project.tar.gz.b64

然后:

bash 复制代码
cat project.tar.gz.b64

复制全部输出。


本地

保存:

bash 复制代码
vim project.tar.gz.b64

粘贴进去。

然后:

bash 复制代码
base64 -d project.tar.gz.b64 > project.tar.gz

解压:

bash 复制代码
mkdir project
tar xzf project.tar.gz -C project

恢复完整项目。


注意

如果项目很大,比如:

  • 100MB
  • 500MB

浏览器剪贴板可能撑不住。

可以切片:

服务器:

bash 复制代码
split -b 5M project.tar.gz.b64 part_

得到:

复制代码
part_aa
part_ab
part_ac
...

逐个复制。

本地:

bash 复制代码
cat part_* > project.tar.gz.b64

再:

bash 复制代码
base64 -d project.tar.gz.b64 > project.tar.gz

方案2:直接导出 git patch(代码项目最推荐)

如果项目是 git:

服务器:

bash 复制代码
git status

确认。

然后:

bash 复制代码
git bundle create project.bundle --all

转文本:

bash 复制代码
base64 project.bundle > project.bundle.b64

复制。

本地:

bash 复制代码
base64 -d project.bundle.b64 > project.bundle

恢复:

bash 复制代码
git clone project.bundle myproject

优点:

  • 保留 git 历史
  • 分支
  • commit
  • 文件权限

比 tar 更适合代码。


方案3:只复制源码(排除编译文件)

如果项目很大,可以:

bash 复制代码
tar czf source.tar.gz \
--exclude=build \
--exclude=.git \
--exclude='*.o' \
--exclude='*.so' \
.

然后 base64。


方案4:网页终端支持下载的话

很多 Web SSH(比如:

  • Jupyter Terminal
  • VSCode Server
  • Open OnDemand
  • 阿里云云助手
  • 华为云 CloudShell

其实有隐藏下载接口。

可以尝试:

bash 复制代码
python3 -m http.server 8000

然后浏览器访问:

复制代码
http://server-ip:8000/project.tar.gz

如果网络策略允许,会比剪贴板快很多。


方案5:利用剪贴板传输小文件(最简单)

如果项目只有几十 KB:

服务器:

bash 复制代码
find . -type f | xargs cat

不推荐。

因为:

  • 文件名丢失
  • 目录结构丢失
  • 二进制损坏

如果有 git:

优先:

复制代码
git bundle
↓
base64
↓
剪贴板

如果没有 git:

复制代码
tar.gz
↓
split 5MB
↓
base64
↓
剪贴板

这是最可靠的。


另外,如果服务器网页终端支持鼠标复制,不要直接 cat 大文件,浏览器通常会卡死。建议:

bash 复制代码
base64 project.tar.gz | split -b 2M - chunk_

然后:

bash 复制代码
cat chunk_aa
cat chunk_ab
...

一块一块复制。

相关推荐
广州灵眸科技有限公司6 小时前
4G 模组开机自连 systemd 服务方案:基于灵眸科技EAI1106--Core-T
运维·服务器·科技
天远数科8 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
qq_401700418 小时前
Linux设备树详解
linux·运维·服务器
奇树谦8 小时前
Windows CMD 下 mc 运维指南:SeaweedFS 安装验收与 MinIO 数据迁移
运维·windows
刚入门的大一新生8 小时前
Linux-信号
linux·运维·服务器
车软学堂9 小时前
CANoe自动化:跑起第一个测试用例
运维·车载系统·自动化·汽车·测试用例
L02082410 小时前
Kubernetes Ingress|CNI 网络模型|Calico 网络策略|Pod 调度器完整实战教程
运维·网络·云原生·容器·kubernetes
考拉讲支付12 小时前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构
ADAI_Bowen13 小时前
写文章 - 知乎
大数据·运维·人工智能