sftp 命令全称是 Secure File Transfer Protocol。是一款交互式的文件传输程序,sftp 命令的运行和使用方式与 ftp 命令相似,但是,sftp 命令对传输的所有信息使用 ssh 加密,它还支持公钥认证和压缩等功能。
由于该命令通过 ssh 隧道来传输文件,认证机制也与 ssh 一致,因此可以提供与 ssh 相同的安全性。
注意:sftp 是 OpenSSH 的套件之一。
sftp [参数] [IP或主机名]
默认用户登录:sftp IP或主机名
指定用户 'user' 登录:sftp user@IP或主机名
-B 指定传输文件时缓冲区的大小
-l 使用ssh协议版本1
-b 指定批处理文件
-C 使用压缩
-o 指定ssh选项
-F 指定ssh配置文件
-R 指定一次可以容忍多少请求数
-v 升高日志等级
bye 退出 sftp
cd path 更改远程目录到 'path'
chgrp [-h] grp path 将文件 'path' 的组更改为 'grp'
chmod [-h] mode path 将文件 'path' 的权限更改为 'mode'
chown [-h] own path 将文件 'path' 的属主更改为 'own'
df [-hi] [path] 显示当前目录的统计信息或包含 'path' 的文件系统
exit 退出 sftp
get [-afpR] remote [local] 下载文件
help 显示这个帮助文本
lcd path 更改本地目录到 'path'
lls [ls-options [path]] 显示本地目录列表
lmkdir path 创建本地目录
ln [-s] oldpath newpath 符号链接远程文件
lpwd 显示本地工作目录
ls [-1afhlnrSt] [path] 显示远程目录列表
lumask umask 将本地umask设置为 'umask'
mkdir path 创建远程目录
progress 切换是否显示文件传输进度
put [-afpR] local [remote] 上传文件
pwd 显示远程工作目录
quit 退出 sftp
reget [-fpR] remote [local] 恢复下载文件
rename oldpath newpath 重命名远程文件
reput [-fpR] local [remote] 恢复上传文件
rm path 删除远程文件
rmdir path 删除远程目录
symlink oldpath newpath 符号链接远程文件
version 显示 SFTP 版本信息
!command 在本地shell中执行 'command'
! 启动本地shell
? 帮助信息
(1)使用 sftp 命令登录到远程主机 192.168.116.51 的 sftp 服务器,然后使用 ls 子命令列出远程主机文件。如下:
[root@hxstrive ~]# sftp 192.168.116.51 root@192.168.116.51's password: Connected to 192.168.116.51. sftp> ls anaconda-ks.cfg bak hello.c tmp
(2)使用 sftp 命令使用 root 用户登录到远程主机 192.168.116.51 的 sftp 服务器,如下:
[root@hxstrive ~]# sftp root@192.168.116.51 root@192.168.116.51's password: Connected to 192.168.116.51. sftp> ls anaconda-ks.cfg bak hello.c tmp
(3)使用 sftp 的 get 子命令将远程主机的 hello.c 文件下载到本地当前目录下,且重命名为 hello_world.c。如下:
sftp> get hello.c hello_world.c Fetching /root/hello.c to hello_world.c hello.c 100% 6 3.8KB/s 00:00
(4)使用 sftp 的 pwd 子命令显示远程主机当前的磁盘路径,如下:
sftp> pwd pwd Remote working directory: /root
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息