FTP(File Transfer Protocol):文件传输协议,是用于在网络上进行文件传输的一套标准协议。
SFTP(SSH File Transfer Protocol):SSH文件传输协议(安全文件传送协议),为传输文件提供一种安全的网络的加密方法,SFTP是SSH的其中一部分。
在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
对比方面 | FTP | SFTP |
---|---|---|
安全通道 | 不提供任何安全通道来在主机之间传输文件 | 提供了安全通道来在主机之间传输文件 |
使用协议 | 使用TCP/IP协议,明文传输用户信息和数据 | 是SSH协议的一部分,它是一种远程登录信息,基于SSH来加密传输文件,可靠性高,可断点续传。 |
链接方式 | 默认使用TCP端口21上的控制连接建立连接 | 通过SSH协议(TCP默认端口22)建立的安全连接来传输文件 |
安全性 | 数据以纯文本格式传输,安全性不高 | SSH加密传输,安全性较高 |
效率 | 传输不加密,效率高 | 加密传输,效率比FTP低 |
命令 | 描述 |
---|---|
bye | 退出 sftp |
exit | 退出 sftp |
cd path | 将远程目录更改为’path’ |
chgrp grp path | 将文件’path’组更改为’grp’ |
chmod mode path | 将文件’path’的权限更改为’mode’ |
chown own path | 将文件’path’的所有者更改为’own’ |
df [-hi] [path] | 显示包含’path’的当前目录或文件系统的统计信息 |
get [-afPpRr] remote [local] | 下载文件 |
reget [-fPpRr] remote [local] | 继续下载文件 |
reput [-fPpRr] [local] remote | 继续上传文件 |
lcd path | 将本地目录更改为’path’ |
lls [ls-options [path]] | 显示本地目录列表 |
lmkdir path | 创建本地目录 |
ln [-s] oldpath newpath | 链接远程文件(-s 用于符号链接) |
lpwd | 打印本地工作目录 |
ls [-1afhlnrSt] [path] | 显示远程目录列表 |
lumask umask | 将本地 umask 设置为 ‘umask’ |
mkdir path | 创建远程目录 |
progress | 切换进度表的显示 |
put [-afPpRr] local [remote] | 上传文件 |
pwd | 显示远程工作目录 |
quit | 退出 sftp |
rename oldpath newpath | 重命名远程文件 |
rm path | 删除远程文件 |
rmdir path | 删除远程目录 |
symlink oldpath newpath | 符号链接远程文件 |
version | 显示 SFTP 版本 |
!command | 在本地 shell 中执行’command’ |
! | 逃到本地 shell |
help | 显示帮助文本 |
? | 和help命令相同,显示帮助文本 |
sftp [user@]host[:dir[/]]
示例:
sftp 127.0.0.1
sftp admin@127.0.0.1
sftp admin@127.0.0.1:aa/
quit
exit
bye
ls [path]
示例:
ls // 显示当前目录下的文件(文件夹)
ls /user // 显示user目录下的文件(文件夹)
cd [path]
示例:
cd // 进入当前目录(无意义)
cd /user // 进入user目录
pwd
mkdir [path]
示例:
mkdir user1
rmdir [path]
示例:
rmdir user1
put local [remote]
mput local [remote]
示例:
put E:\111.txt // 不指定远程目录直接上传到远程根目录
put E:\111.txt /user // 上传到远程指定目录
# 下载到本地
get remote [local]
mget remote [local]
示例:
get /user/111.txt // 不指定本地目录直接下载到本地当前目录
get /user/111.txt E:\aaa // 下载到本地指定目录
rm [remote]
示例:
rm /user/111.txt
rename old new
示例:
rename /user /user1
version
help
?
lcd path
示例:
lcd d:\user
lls [ls-options [path]]
示例:
lls // 显示本地当前目录下的文件(文件夹)
lls d:\user // 显示本地d:\user目录下的文件(文件夹)
lmkdir path
示例:
lmkdir aa // 本地当前目录下创建目录
lmkdir d:\user // 本地d:\user目录下创建目录
lpwd