sftp 安全的文件传输命令

作用

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 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号