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中直接写特殊字符可能被解析
相关推荐
szp20052 小时前
为了在浏览器里跑多线程 ONNX 推理,我把自己的支付浮层弄挂了
前端·webassembly
kisshyshy2 小时前
从 useRef 到 Web Worker:理解 React 可变对象与浏览器多线程
前端·javascript·react.js
fatcoder2 小时前
玩转Nginx 04 — 反向代理:给 nginx 接上后端
前端·后端·nginx
Data_Journal3 小时前
什么是 CAPTCHA,它是如何工作的?
java·大数据·服务器·前端·数据库
计算机魔术师3 小时前
我看了这个更新,把原来的检索方案推翻了
前端
zhanghaha13144 小时前
HTML系列教程:3_HTML 基础标签 — 标题、段落、超链接、图像
前端·html
李高钢4 小时前
C# WPF Prism 进阶(二):区域(Region)与模块化(Module)
java·前端·数据库
xyphf_和派孔明4 小时前
Vite 与 Webpack 对比及常见面试题
前端·webpack·vite
明月_清风4 小时前
Pi Agent 深度解析:开源极简终端 AI 编码代理的终极指南
前端·后端·ai编程