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查看文件:
