温馨提示×

linux sftp怎么用命令

小樊
48
2026-09-10 22:57:33
栏目: 智能运维

在 Linux 下使用 SFTP(SSH File Transfer Protocol) 一般是通过命令行工具 sftp 来连接远程服务器并进行文件传输。下面从连接、常用命令、示例几个方面说明。


一、基本连接方式

1. 连接到远程服务器

sftp user@host

示例:

sftp root@192.168.1.100

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

sftp -P 2222 user@host

2. 使用密钥登录

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

连接成功后会进入 sftp> 交互模式。


二、sftp 常用命令(在 sftp> 下使用)

1. 查看和帮助

help

查看所有可用命令

pwd

查看远程服务器当前目录

lpwd

查看本地当前目录


2. 列目录

ls

远程目录列表

lls

本地目录列表


3. 切换目录

cd /remote/path

切换远程目录

lcd /local/path

切换本地目录


4. 上传文件(本地 → 远程)

put localfile.txt

上传单个文件

put *.txt

上传多个文件

put -r localdir

上传整个目录(递归)


5. 下载文件(远程 → 本地)

get remotefile.txt

下载单个文件

get -r remotedir

下载整个目录


6. 删除文件

rm file.txt

删除远程文件

rmdir dirname

删除远程空目录


7. 创建目录

mkdir dirname

8. 退出 sftp

exit

bye

三、非交互模式(脚本/命令方式)

1. 一条命令完成上传

sftp user@host <<EOF
put file.txt /remote/path/
exit
EOF

2. 使用 sftp 命令执行单条操作

echo "put file.txt" | sftp user@host

四、常见示例

上传文件到服务器

sftp user@host
sftp> put test.txt /home/user/

从服务器下载文件

sftp user@host
sftp> get /home/user/test.txt ./

如果你需要的是:

  • 自动化脚本(免交互)
  • 配合 SSH config 使用
  • 和 scp / rsync 的区别

可以继续问我。

0