文章目录
- 一、命令介绍
- 二、常用选项
- 三、参考示例
- (一)使用 sftp 连接远程主机
- (二)使用 sftp 上传文件到远程主机
- (三)使用 sftp 从远程主机下载文件
- (四)查看远程主机的当前目录
- (五)查看本地主机的当前目录
- (六)查看本地主机当前目录的内容
- (七)切换本地主机的当前目录
- (八)sftp 支持的全部命令
一、命令介绍
sftp 命令全称是 Secure File Transfer Protocol(中文译为:安全文件传输协议),sftp 实则是一种基于可靠数据流(data stream),提供文件存取和管理的网络传输协议,在此是一款交互式的文件传输程序,sftp 命令的运行和使用方式与 ftp 命令相似,但是,sftp 命令对传输的所有信息使用 ssh 加密,它还支持公钥认证和压缩等功能。
如果远程服务器自定义了连接的端口,可以使用 -P 参数:
sftp -P remote_port user_name@remote_server_address[:path]
连接成功后将进入一个 sftp 的解释器,可以发现命令行提示符变成了 sftp>,使用 exit
或者 quit
或者 bye
命令可以退出 sftp 解释器。
如果连接地址存在 path 并且 path 不是一个目录,那么 sftp 会直接从服务器端取回这个文件。
二、常用选项
选项 | 说明 |
---|---|
-B | buffer_size,指定传输文件时缓冲区的大小,即指定传输 buffer 的大小,更大的 buffer 会消耗更多的内存,默认为 32768 bytes |
-P | port,指定连接的端口号 |
-l | 使用ssh协议版本1 |
-b | 指定批处理文件 |
-C | 使用压缩 |
-o | 指定ssh选项 |
-F | 指定ssh配置文件 |
-R | num_requests,指定一次能够容忍多少请求数,即指定一次连接的请求数,可以略微提升传输速度,但是会增加内存的使用量 |
-v | 升高日志等级 |
三、参考示例
(一)使用 sftp 连接远程主机
详见《Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机》
(二)使用 sftp 上传文件到远程主机
详见《Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机》
(三)使用 sftp 从远程主机下载文件
详见《Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机》
(四)查看远程主机的当前目录
sftp> pwd
Remote working directory: /root
(五)查看本地主机的当前目录
sftp> lpwd
Local working directory: /Users/liaowenxiong
(六)查看本地主机当前目录的内容
查看可见的文件和目录:
sftp> lls
Applications Downloads Pictures
Creative Cloud Files Library Public
Desktop Movies cookiefile.json
Documents Music statistics.json
查看所有的文件和目录,包含隐藏的文件:
sftp> lls -a
. .profile
.. .putty
.CFUserTextEncoding .sogouinput
.DS_Store .ssh
.ShadowsocksX .subversion
.ShadowsocksX-NG .tooling
.Trash .viminfo
.adobe .webclipse
.android .zsh_history
.bash_history .zsh_sessions
.bash_profile .zshrc
.bash_sessions Applications
.config Creative Cloud Files
.cups Desktop
.deliverycenter.installs Documents
.deliverycenter.system Downloads
.eclipse Library
.gervill Movies
.local Music
.m2 Pictures
.myeclipse Public
.myeclipse.properties cookiefile.json
.oracle_jre_usage statistics.json
(七)切换本地主机的当前目录
使用命令 lcd 切换本地主机的目录:
sftp> lpwd
Local working directory: /Users/liaowenxiong
sftp> lcd desktop
sftp> lpwd
Local working directory: /Users/liaowenxiong/Desktop
(八)sftp 支持的全部命令
输入命令 help 查看 sftp 支持哪些命令:
sftp> help
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory orfilesystem containing 'path'
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter 切换进度表显示
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file 符号链接远程文件
version Show SFTP version
!command Execute 'command' in local shell 在本地 shell 执行命令
! Escape to local shell 返回到本地 shell
? Synonym for help