一、sftp
sftp,全称Secure File Transfer Protocol, 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作)。Sftp与ftp虽然只有一字之差,但基于的传输协议却是不同的。因此不能用sftp client去连接ftp server 也不能用 ftp client 去连接 sftp server。
命令:
建立连接:sftp user@host
从本地上传文件:put localpath remotepath
下载文件:get remotepath localpath
例子:
建立连接:sftp root@192.168.100.136
从本地上传文件:put /home/test/test.xml /home/test/
下载文件:get /home/test/test.xml /home/test/
二、scp
SCP :secure copy (remote file copy program) 也是一个基于SSH安全协议的文件传输命令。与sftp不同的是,它只提供主机间的文件传输功能,没有文件管理的功能。
命令如下:
复制本地文件local_file 到远程目录remote_folder下:
scp local_file remote_user@host:remote_folder
复制本地目录local_folder 到远程目录remote_folder(需要加参数 -r 递归)
scp –r local_folder remote_user@host:remote_folder
复制远程文件remote_file 到本地目录local_folder下
scp remote_user@host:remote_file local_folder
复制本地目录local_folder 到远程目录remote_folder(需要加参数 -r 递归)
scp –r remote_user@host:remote_folder local_folder
scp sftp区别
SCP比较简单,是轻量级的,SFTP的功能则比较多
SFTP在文件传输过程中中断的话,连接后还可以继续传输,但SCP不行
三、rz/sz
sz/rz 是基于ZModem传输协议的命令。对传输的数据会进行核查,并且有很好的传输性能。使用起来更是非常方便,但前提是window端需要有能够支持ZModem的telnet或者SSH客户端,例如secureCRT。
首先需要在secureCRT中可以配置相关的本地下载和上传目录,然后用rz、sz命令即可方便的传输文件数据。
下载数据到本地下载目录:sz file1 file2 …
上传数据到远程:执行rz –be 命令,客户端会弹出上传窗口,用户自行选择(可多选)要上传的文件即可。
注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
-b binary 用binary的方式上传下载,不解释字符为ascii
-e 强制escape 所有控制字符,比如Ctrl+x,DEL等