SFTP---安全的文件传输协议/简单地传输文件

sftp 命令

sftp是一种通过安全通道进行文件传输的协议。与scp命令相同,sftp命令也能够进行本地和远端的文件传输。

sftp与scp的区别:scp在拷贝完文件之后会立即退出远程控制,不会提供交互式的shell,而sftp是交互式的,不需要一次完成,并且sftp有专门的命令语法对远程和本地机器的文件拷贝进行控制,功能更强大。

命令格式:

sftp remote_username@remote_ip

sftp是先使用ssh协议连接到远程主机,然后提供一个交换式shell,通过这个交互式的shell运行自带的命令实现文件传输。

sftp成功之后,会发现第一标识符变为sftp>,这时已经切换到交互式shell:

当第一标识符变为sftp之后,就可使用sftp自带的命令进行文件传输。

sftp自带命令

sftp自带命令与平常的Linux命令十分相似,然后控制本地主机和远程主机命令是一致的,唯一的区别:控制本地机器时需要在命令之前加!,不加!控制远程机器。

命令如下所示

与Linux中命令完全相同

pwd、ls、cd、mkdir、rmdir(删除命令)

不同指令,方括号中的参数可选,不指定本地或远程目录时,默认放在当前目录

put local_file [remotefile]:将本地文件传输到远程主机

get remotefile [local_file]:将远程文件传输到本机

exit:退出sftp

部分操作演示:

在host1/root创建文件test,然后使用sftp远程连接host2,host2/root不创建test目录

将host1的test文件传输至host2

直接输入put test.txt回车就行

然后在host2查看文件: