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

你的场景是:

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

一块一块复制。

相关推荐
当代红领巾4 分钟前
VMware 里装好 Linux 系统没有 ipv4 地址?
linux·运维·服务器
ailsa_hui22 分钟前
给50人的电子厂上数智云平台,大概要多少预算?
大数据·运维·人工智能
qq_4017004134 分钟前
TCP 粘包问题深度解析:嵌入式网络开发的常见坑与解决方案
服务器·网络·qt·网络协议·tcp/ip
DigitalOcean1 小时前
面向 AI 工作负载,单核性能提升 30%:DigitalOcean v5 Droplets 云服务器正式上线
服务器
谢亮_vipxieliang1 小时前
手机号验证技术方案:号段规则与正则表达式
java·服务器·spring boot·正则表达式·hibernate
wzq11_6661 小时前
HDFS集群的高可用集群一遍过!!!
运维·debian
Vcaker2 小时前
Linux学习22-openstack部署与使用
linux·运维·学习
小周学学学2 小时前
vmware-horizon第四章:事件数据库配置(docker)
运维·docker·容器
姓刘的哦2 小时前
STM32的启动流分析
linux·运维·arm开发
2601_949499942 小时前
芯瑞科技 DT‑1414完全兼容HFBR‑1414TZ光模块国产化优选方案深度解析(工程师视角)
运维·网络·人工智能·科技·光模块