使用SecureCRT在Linux与Windows之间传输文件

1、文件传输协议

文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常见的传输协议有以下几种:

  • ASCII:这是最快的传输协议,但只能传送文本文件。
  • Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。
  • Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快。
  • Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。


除以上几种外,还有Imodem、Jmodem、Bimodem、Kermit、Lynx等协议,由于没有多数厂商支持,这里就略去不讲。
SecureCRT可以使用Linux下的Zmodem协议来快速的传送文件。

只要设置一下上传和下载的默认目录就行:options->session options ->Terminal->Xmodem/Zmodem 下,在右栏directory设置上传和下载的目录

SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能。比FTP命令方便多了,而且服务器不用再开FTP服务了。rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
windows端需要支持ZModem的telnet/ssh客户端,SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)。


上传文件只需在shell终端仿真器中输入命令“rz”,即可从弹出的对话框中选择本地磁盘上的文件,利用Zmodem上传到服务器。下载文件只需在shell终端仿真器中输入命令“sz 文件名”,即可利用Zmodem将文件下载到“路径/SecureCRT-5.1.3/download/”目录下。通过“File Transfer”可以修改上传和下载的默认路径。设置默认目录:options-->session options-->file transfer。


注:选项-->全局选项-->终端,可以设置鼠标的复制粘贴。
如果要改变SecureCRT终端的背景颜色和文件名颜色,只需点击菜单栏上的“选项”-“会话选项”,在“终端“-“仿真”分类的右侧窗口选上“ANSI 颜色”以及“选择一个备用的键盘仿真-Linux”。

 

2、使用 ZMODEM 进行文件传输:


rz: 上传文件只需在shell终端仿真器中输入命令“rz”,即可从弹出的对话框中选择本地磁盘上的文件,利用Zmodem上传到服务器,例如(上传一个rsyncd.conf文件到服务器):


[root@localhost ~]# rz
rz waiting to receive.
正在开始 zmodem 传输。 按 Ctrl+C 取消。
正在传输 rsyncd.conf...
  100%     715 bytes  715 bytes/s 00:00:01       0 错误


sz: 下载文件只需在shell终端仿真器中输入命令“sz 文件名”,即可利用Zmodem将文件下载到“路径/SecureCRT-5.1.3/download/”目录下,例如(下载服务器当前目录下的rsyncd.conf文件到本地):


[root@localhost ~]# sz rsyncd.conf
rz
正在开始 zmodem 传输。 按 Ctrl+C 取消。
正在传输 rsyncd.conf...
  100%     715 bytes  715 bytes/s 00:00:01       0 错误

注:使用该命令进行文件传输,最大的弊端在于不能进行文件夹的传输,只能传输文件。

 

3、使用sftp进行文件传输:

 

在已连接的远程主机标签上点击右键选择“连接SFTP标签页”即可建立SFTP的连接,这是一个使用命令的连接会话不提供图形界面。或者在SecureCRT中 按下ALT+P就开启新的会话进行FTP操作。

输入:help命令,显示该FTP提供所有的命令
          pwd:  查询linux主机所在目录(也就是远程主机目录)
          lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看”选项“下拉框中的”会话选项“,如图二:我们知道本地上传目录为:D:/我的文档)
          ls:   查询连接到当前linux主机所在目录有哪些文件
          lls:  查询当前本地上传目录有哪些文件
          lcd:  改变本地上传目录的路径
          cd:   改变远程上传目录
          get:  将远程目录中文件下载到本地目录
          put:  将本地目录中文件上传到远程主机(linux)
        quit: 断开FTP连接 

 

远程主机上:   可以使用所有shell中的目录和文件操作命令:ls,pwd,cd等等来对 远程主机上的目录进行更改操作,不能使用vi等文件编辑工具
本地主机上:   对本地目录进行操作需在以上命令前加上"l",即
   ls –-> lls,pwd –-> lpwd,cd –-> lcd

文件传输
   上传文件: put file  上传目录:put -r dir
   下载文件: get file  下载目录:get -r dir

注:这里file可以使用*等通配符
      如果是通过通道机登录的某远程主机,则SFTP就不可用了。例如通过10.10.20.124登录的60.25.21.148,操作是在60.25.21.148上,直接右键建立SFTP连接是建立不起来的,因此只能使用上面的sz和rz的命令操作。

 

 

参考文献:

1 http://www.cnblogs.com/harryguo/archive/2008/01/16/1041296.html

2 http://jjuan-flake.blogbus.com/logs/59745331.html

3 http://blog.csdn.net/rangf/article/details/6096365

posted @ 2013-05-07 10:57  ChaoSimple  阅读(2753)  评论(0编辑  收藏  举报