温馨提示×

linux sftp怎样传文件

小樊
36
2026-09-17 04:41:32
栏目: 智能运维

在 Linux 下使用 SFTP(SSH File Transfer Protocol) 传文件,常见方式有以下几种:


一、交互式 SFTP(最常用)

1. 连接服务器

sftp user@host

例如:

sftp root@192.168.1.100

如果是非默认端口(如 2222):

sftp -P 2222 user@host

连接成功后,提示符会变成:

sftp>

2. 上传文件(本地 → 服务器)

put localfile.txt

上传到指定目录:

put localfile.txt /remote/path/

上传整个目录(需加 -r):

put -r localdir

3. 下载文件(服务器 → 本地)

get remotefile.txt

下载到指定目录:

get remotefile.txt /local/path/

下载整个目录:

get -r remotedir

4. 常用命令

ls          # 查看远程目录
lls         # 查看本地目录
pwd         # 远程当前路径
lpwd        # 本地当前路径
cd          # 切换远程目录
lcd         # 切换本地目录
exit        # 退出

二、非交互式(一条命令传文件)

上传文件

sftp user@host:/remote/path/ <<< $'put localfile.txt'

或:

echo "put localfile.txt /remote/path/" | sftp user@host

下载文件

echo "get /remote/file.txt ./local/" | sftp user@host

三、使用密钥登录(推荐)

sftp -i ~/.ssh/id_rsa user@host

四、配合 scp(更简单,但不算 sftp)

如果只是传文件,也可以用 scp

scp file.txt user@host:/path/
scp user@host:/path/file.txt ./

如果你有 具体场景(如自动化脚本、Windows 到 Linux、大文件、限速等),可以告诉我,我给你更合适的方案。

0