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

你的场景是:

  • 服务器只能通过网页版远程访问(类似 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
...

一块一块复制。

相关推荐
wWYy.1 小时前
阻塞和非阻塞
服务器·网络
zhang133830890751 小时前
CG-85D 水工大坝渗压监测振弦式传感器
运维·服务器·网络·人工智能·自动化
esabby1 小时前
253个原生IP + 40M独享回国带宽:香港站群服务器的硬核拆解
服务器·网络协议·tcp/ip
zcmodeltech2 小时前
智慧城市沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的园区-城市-数字孪生联动方案
服务器·数据库·人工智能·stm32·嵌入式硬件·信息可视化·智慧城市
程序猿小玉兒2 小时前
Quartz定时任务偶尔不执行
服务器·windows·microsoft
酷可达拉斯2 小时前
Linux操作系统-tcpdump抓包定位网络问题实战
linux·运维·服务器·网络·tcpdump
Dontla11 小时前
预置known_hosts如何防止中间人攻击(MITM)?(服务器公钥、服务器私钥)Runner、DNS污染、BGP劫持、同网络ARP欺骗、SSH握手
服务器·网络·ssh
Lonely 净土12 小时前
Rocky Linux 安装教程
linux·运维·服务器
光影少年13 小时前
RN的Fabric 渲染流程
运维·前端·javascript·react native·react.js·fabric