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中直接写特殊字符可能被解析
相关推荐
tryCbest4 小时前
Vue3——第 6 篇:事件处理与表单绑定——v-on 与 v-model
前端·javascript·vue.js
恋猫de小郭4 小时前
Flutter 的文字为什么比 SwiftUI 更细?问题主要在 Skia 的 256 项查找表里
android·前端·flutter
lexiangqicheng4 小时前
前端高阶面试核心通关指南:深入解析Vue3与React18底层原理及性能优化
前端·面试·性能优化
怕浪猫4 小时前
前端对接聊天 API:我用 React 做了一个比 ChatGPT 还好看的界面
前端·后端·面试
程序员小孔.4 小时前
基于 Spring Cloud + Vue 的 JEEWMS 开源仓储管理平台设计与实现
前端·javascript·vue.js·spring boot·spring cloud·开源
IT_陈寒4 小时前
深入理解Python:核心原理与最佳实践
前端·人工智能·后端
我喜欢就喜欢4 小时前
Chrome 插件开发实战指南
前端·chrome
夕阳_醉了4 小时前
花了一天的时间,地板式扫盲了vue3所有API盲点
前端·javascript·vue.js
LinDaiuuj4 小时前
Figma Specs 高效交付与开发协作指南
前端·figma
风骏时光牛马4 小时前
大模型底层架构与推理机制源码深度剖析
前端