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中直接写特殊字符可能被解析
相关推荐
IT_陈寒1 分钟前
明明设了默认值,为什么我的JavaScript函数参数还是undefined?
前端·人工智能·后端
CappuccinoRose2 分钟前
Web Components 基础
前端·javascript·交互·web component·shadow dom
晴天164 分钟前
前端 Monorepo 入门分享:从概念到实践
前端
lytao12319 分钟前
90% 覆盖率不等于没 Bug:用风险配置测试组合
前端·javascript·bug·软件工程
mayaairi23 分钟前
Vue2 组件通讯(一):Props传值完全指南
前端·javascript·vue.js
码艺-Alimjan25 分钟前
Tauri 2.x + Vue 3 桌面应用开发实战:从踩坑到完美落地
前端·javascript·vue.js·rust·typescript·go
AINative软件工程38 分钟前
编程
前端·llm
晴天1640 分钟前
peerDependencies 全面解析:前端依赖生态的核心机制与实战指南
前端·npm
I'mChloe40 分钟前
群晖部署 image-matting:把人像去背景做成一个随开随用的 Web 工具
android·前端
程序员蜡笔熊1 小时前
Vite 8 换芯实测:Rolldown 替掉双引擎,构建快 3.19 倍
前端·javascript·vue