最常用、最稳妥的方式是用 scp 或 sftp,两者都基于 ssh,安全可靠;scp 适合单次小批量上传,sftp 适合多次交互式操作,均需确保目标目录存在且有写入权限。

把本地文件上传到 Linux 服务器的指定目录,核心是“跨机器传输”,不是本机 cp。最常用、最稳妥的方式是用 scp 或 sftp,两者都基于 SSH,安全可靠。
用 scp 一次性上传(推荐新手)
语法简洁,适合单次小批量上传:
- 上传单个文件:
scp /本地/路径/文件名 用户名@服务器IP:/远程/目标目录/ - 上传整个文件夹:
scp -r /本地/路径/文件夹名 用户名@服务器IP:/远程/目标目录/ - 示例(把当前目录下的
config.yaml传到服务器/opt/app/):scp config.yaml user@192.168.1.100:/opt/app/ - 注意:目标路径末尾加不加
/不影响结果;如果目标目录不存在,会报错,需提前在服务器上创建好。
用 sftp 交互式上传(适合多次操作或不确定路径)
先连上服务器,再逐步操作,有反馈、可校验:
- 连接:
sftp 用户名@服务器IP - 进入本地目录(定位你要传的文件):
lcd /本地/路径 - 进入远程目标目录:
cd /远程/目标目录 - 上传文件:
put 文件名(支持put *.log批量传) - 上传目录:
put -r 目录名 - 退出:
quit
其他方式补充说明
不同场景可选:
-
rsync:适合大文件、断点续传或增量同步,加
-avz参数更高效,例如:rsync -avz file.txt user@192.168.1.100:/data/ - curl/wget:仅适用于文件已托管在 HTTP/FTP 地址,不是“从你电脑直接传”,属于下载行为。
- 图形工具(如 FileZilla):底层也是 SFTP,适合不习惯命令行的用户,界面直观。
不用 FTP(明文传输不安全),也不用 cp(它只在本机内复制)。确认目标目录存在、权限允许写入,上传就基本不会出错。











