Linux服务器上指定目录的文件下载

你的服务器信息

项目 值
环境 本地测试
IP地址 192.168.3.99
用户名 test
密码 brrj123!@#
端口 22
目标文件1 /home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar
目标文件2 /home/bid/bidding-zjgj/one_main.yml

方式一:scp(最常用,推荐)

1. 下载单个文件

bash 复制代码
scp -P 22 test@192.168.3.99:/home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar ./

2. 下载多个文件到当前目录

bash 复制代码
scp -P 22 test@192.168.3.99:"/home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar /home/bid/bidding-zjgj/one_main.yml" ./

3. 下载整个目录(如需)

bash 复制代码
scp -P 22 -r test@192.168.3.99:/home/bid/bidding-zjgj/jar ./

参数说明

参数 含义
-P 22 指定端口(大写P)
-r 递归下载整个目录
./ 下载到当前目录,可换成 /path/to/dest

密码输入

执行后会提示输入密码:brrj123!@#


方式二:sftp(交互式,适合多个文件)

bash 复制代码
sftp -P 22 test@192.168.3.99

连接后执行:

bash 复制代码
sftp> cd /home/bid/bidding-zjgj/jar
sftp> get one-main-0.0.1-SNAPSHOT.jar
sftp> cd /home/bid/bidding-zjgj
sftp> get one_main.yml
sftp> exit

一行命令批量下载

bash 复制代码
sftp -P 22 test@192.168.3.99 <<EOF
cd /home/bid/bidding-zjgj/jar
get one-main-0.0.1-SNAPSHOT.jar
cd /home/bid/bidding-zjgj
get one_main.yml
exit
EOF

方式三:rsync(适合大文件/断点续传)

bash 复制代码
rsync -avz -e "ssh -p 22" test@192.168.3.99:/home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar ./
参数 含义
-a 归档模式,保留权限等
-v 显示详细过程
-z 传输时压缩

方式四:免密传输(推荐长期使用)

1. 生成本地SSH密钥

bash 复制代码
ssh-keygen -t rsa -b 4096

2. 复制公钥到服务器

bash 复制代码
ssh-copy-id -p 22 test@192.168.3.99

按提示输入密码 brrj123!@# 一次,之后scp/sftp都不再需要输密码。


常用下载路径速查

场景 命令
下载jar包到当前目录 scp -P 22 test@192.168.3.99:/home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar ./
下载yml到桌面 scp -P 22 test@192.168.3.99:/home/bid/bidding-zjgj/one_main.yml ~/Desktop/
下载到指定目录 scp -P 22 test@192.168.3.99:/home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar /data/backup/
两个文件一起下载 scp -P 22 test@192.168.3.99:"/home/bid/bidding-zjgj/jar/one-main-0.0.1-SNAPSHOT.jar /home/bid/bidding-zjgj/one_main.yml" ./

注意事项

问题 解决
端口不对 确认 -P 22 是否正确(默认22可省略)
权限不足 确认test用户对目标文件有读权限 ls -l /home/bid/bidding-zjgj/jar/
路径不存在 用 ssh test@192.168.3.99 "ls /home/bid/bidding-zjgj/" 先确认路径
特殊字符密码 交互式输入即可,shell中直接写特殊字符可能被解析
相关推荐
喵个咪36 分钟前
GoWind 拆解:全链 ID 类型体系——int64 定版与前端字符串化契约
前端·后端·go
喵个咪41 分钟前
GoWind CMS 拆解:Flutter 设计系统内核——双态 token、四档断点与自适应壳层
前端·flutter·交互设计
喵个咪1 小时前
GoWind CMS 拆解:发布审批——多级推进、逐级角色与全程留痕
前端·后端·go
喵个咪1 小时前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
前端·后端·go
喵个咪2 小时前
GoWind Admin 拆解:打印模板设计器——从画布到服务端 PDF 的完整打印链路
前端·后端·go
总要学点什么2 小时前
第96篇:三维数据加载-城市建筑白模样式+着色器——让色带按体量上色,最白的那档却涂不上去
前端·gis·webgl·cesium·着色器·空间分析·白模
Hilaku2 小时前
你们公司有 35 岁以上的前端吗?
前端·javascript·程序员
徐小夕3 小时前
开源Vector-Graph-RAG:向量+图谱双引擎,打破纯向量RAG的效果天花板
前端·vue.js·github
SameX3 小时前
HarmonyOS ArkTS 把组件截图保存成 PNG 再调系统分享面板的做法
前端
Swot3 小时前
SvelteKit SSG 发布后,为什么老访客非要强刷才能看到新内容?
前端