Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载
SecureCRT中有以下文件传输协议:
① ASCII: 最快的传输协议, 但只能传送文本文件;
② Xmodem: 古老的传输协议, 速度较慢, 但使用了CRC错误侦测方法, 传输的准确率可高达99.6%;
③ Ymodem: 是Xmodem的改良版, 使用了1024位区段传送, 速度比Xmodem快;
④ Zmodem: Zmodem采用了串流式(streaming)传输方式, 传输速度较快, 而且还具有自动改变区段大小和断点续传、快速错误侦测等功能.
Zmodem是目前最流行的文件传输协议, 下述的rz/sz命令就是通过Zmodem模式传输文件.
1 通过rz/sz命令上传/下载
1.1 安装lrzsz软件
[root@host-10-0-20-50 ~]# sudo yum install -y lrzsz
若服务器不能连接外网, 可参照 CentOS 6.5中安装使用dstat资源统计工具 中的设置.
1.2 rz - 上传文件
rz中的r是received(接收)的缩写, 意为服务器接收文件(received by client), 即上传本地文件到服务器.
键入rz命令, 然后回车, 将弹出文件选择对话框, 选择需要上传的文件, 可选择多个文件.
点击确定后即可上传文件, 文件接收路径为当前执行rz命令的路径.
过程如下:
[root@host-10-0-20-50 ~]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.

注意: 上传文件时, 如果Linux服务器接收文件的目录下有同名的文件, 将跳过上传过程. 信息如下:
[root@host-10-0-20-50 elk]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring elasticsearch-5.6.10.tar.gz...
elasticsearch-5.6.10.tar.gz was skipped

扩展: 使用rz会有两个问题: 上传中断、上传文件变化(md5不同). —— 尚未验证, 请存疑.
解决办法: 上传时用
rz -be, 并且不要勾选弹出的对话框中"Upload files as ASCII"前选框.-b: 用binary的方式上传下载, 不解释字符为ASCII.
-e: 强制escape所有控制字符, 比如Ctrl+x, DEL等.
1.3 sz - 下载文件
sz中的s是send(发送)的缩写, 意为服务器发送文件到客户端(send to client), 即下载服务器文件到本地.
键入sz download_files命令, 然后回车, 即可将服务器中的文件下载到SecureCRT配置的目录下:
过程如下:
[root@host-10-0-20-50 ~]# cd /data/elk
[root@host-10-0-20-50 ~]# sz elasticsearch-5.6.10.tar.gz

(1) sz的其他用法:
sz filename # 下载一个文件
sz filename1 filename2 # 下载多个文件
sz dir/* # 下载dir目录下的所有文件, 不包含dir下的文件夹
(2) 修改SecureCRT默认的上传/下载目录:
选择菜单栏的[Options(选项)] --> [Session Options(会话选项)] --> [X/Y/Zmodem], 然后修改Upload/Download路径即可.
2 通过sftp上传/下载文件
为了数据和服务的安全, 很多生产环境中的Linux服务器不能使用外网环境. 在只有SSH连接的情况下, 传输文件变得很不方便.
如果Linux服务器未安装用于上传和下载的lrzsz软件, 又不能现场安装, 此时可考虑使用sftp完成相关操作.
2.1 关于SFTP的简介
SFTP是Secure File Transfer Protocol(安全文件传输协议)的缩写, 可以为传输文件提供一种安全的网络的加密方法.
不需要单独安装或配置sftp —— 支持SSH连接的服务器, 也就默认开启了SFTP.
SFTP是SSH的一部分: 在SSH软件包中, 已经包含了SFTP安全文件信息传输子系统.
SFTP本身没有单独的守护进程, 它必须使用sshd守护进程 (端口号默认是22) 来完成相应的连接和答复操作.
所以从某种意义上来说, SFTP并不像一个服务器程序, 而更像是一个客户端程序.
2.2 SFTP与FTP的区别
① FTP是一种方便数据共享的文件传输协议, 包括一个FTP服务器和多个FTP客户端. FTP客户端通过FTP协议从服务器上下载资源.
② SFTP协议是在FTP的基础上, 对数据采取了加密/解密技术, 使数据传输更安全.
③ SFTP的传输效率比FTP的低很多.
2.3 使用SFTP之前的工作
Windows系统下, 可以使用Core FTP、FileZilla、WinSCP、Xftp等软件来连接SFTP进行上传/下载文件、建立/删除目录等操作.
这里主要探讨Linux系统下的操作.
(1) 软件环境:
可以使用任意终端工具, 比如MacOS下的Terminal, 或iTerm(此处演示使用), 或SecureCRT.
(2) sftp建立连接:
在终端中进行操作, 若打开SecureCRT的sftp: 菜单栏的[File] --> [Connect SFTP Session]即可.
# 在默认的SSH端口(22)下连接:
# sftp username@remote_ip(or remote host name), 连接root用户, 则可省略"root@".
sftp root@10.0.20.51
# 在其他端口下的连接
sftp -o port=1000 username@remote_ip
如果出现验证, 填入正确的密码后即可实现远程连接. 连接成功后终端信息如图:

2.4 sftp - 上传文件
sftp与ftp有着几乎相同的语法和功能:
① ls, rm, cd, mkdir, pwd 等指令是对当前连接的远程端服务器的操作;
② lls, lrm, lcd, lmkdir, lpwd 等指令是对本地端服务器的操作 —— 在上述指令前加
l(local)即可.
上传操作示例:
# 默认连接的都是root目录, 查看本地和远端/root路径下的文件:
sftp> lls # 本地
anaconda-ks.cfg install.log install.log.syslog porc remote.sh test.sh
sftp> ls # 远端
anaconda-ks.cfg install.log install.log.syslog myid remote.sh test.sh
# 将本地的remote.sh文件上传至远端服务器的/home路径下:
sftp> put remote.sh /home # 指定远端接收路径为/home
Uploading remote.sh to /home/remote.sh
remote.sh 100% 538 0.5KB/s 00:00
sftp> ls /home # 查看远端/home路径下的文件
/home/remote.sh
2.5 sftp - 下载文件
下载操作示例:
# 将远端/root路径下的myid文件下载至本地/home路径下:
sftp> get /root/myid /home # 指定远端文件 + 本地接收路径
Fetching /root/myid to /home/myid
sftp> lls /home # 查看本地/home路径下的文件
myid
如果上传/下载的是文件夹, 在put/get命令后加上-r参数即可.
上述操作截图如下:

退出sftp:
在终端输入quit或者exit, 然后回车, 就能退出sftp连接.
参考
版权声明
作者: 马瘦风
出处: 博客园 马瘦风的博客
您的支持是对博主的极大鼓励, 感谢您的阅读.
本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.
Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载的更多相关文章
- SecureCRT使用sz和rz命令进行文件的上传和下载
SecureCRT可以使用sz和rz命令进行文件的上传和下载. sz文件下载: 格式:sz 文件名称 即可将服务器的文件下载至本地. rz文件上传: 格式:rz 文件名称 即可将本地文件上传至服务器. ...
- linux上文件的上传和下载
现整理一篇linux上文件的上传和下载 第一种方式就是在windos上安装工具 如: 工具如何使用我就不赘述了,easy 第二种方式就是使用liux的命令(首先是文件上传) 上传文件(首先创建文件夹如 ...
- Xshell在Windows和Linux间文件的上传和下载
本文通过lrzsz来实现Windows和Linux间文件间的文件传输. lrzsz使用 XMODEM.YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载.相比 FTP 或者 WinSC ...
- Linux下自己和自己用各种方法进行文件的上传下载
环境: Ubuntu 16.04 1.SCP # 上传 scp /home/sea/Desktop/test.sh sea@192.168.1.31:/home/sea/Desktop/test.sh ...
- linux下使用rzsz实现文件的上传和下载
新搞的云服务器用SecureCRT不支持上传和下载,没有找到rz命令.记录一下如何安装rz/sz命令的方法. 一.工具说明 在SecureCRT这样的ssh登录软件里, 通过在Linux界面里输入rz ...
- linux(6/17)--文件打包上传和下载
tar命令 命令功能 用来压缩和解压文件 命令格式 tar[必要参数][选择参数][文件] tar打包工具 -f ##指定生成包的名字,建议 -f单独写成一个参数 --delete filename ...
- python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)
-*- paramiko.util.log_to_file( ssh = paramiko.SSHClient() ssh.set_missing ...
- golang使用sftp连接服务器远程上传、下载文件
安装github.com/pkg/sftp 我们之前介绍了,golang如何通过ssh连接服务器执行命令,下面我们来如何上传文件,上传文件同样需要之前的ssh,但是除此之外还需要一个模块,直接使用go ...
- Linux系统下安装rz/sz命令及使用说明(文件上传下载)
1.安装软件 yum -y install lrzsz 2.本地文件上传命令 rz -bye 执行该命令后,在弹出框中选择要上传的文件即可 3.下载文件到本地 sz filename
随机推荐
- HTTP状态码的详细解释,供参考
HTTP状态码详解 常用对照表 状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经 ...
- QM
答案: C 解题: 1. PV = 1,2 / 11% = 10.91 NPV = PV(inflow)-PV(outflow) = 10.91 - 8 = 2.91 2. IRR : NPV = 0 ...
- Selenium 三种等待
问题 : 强制等待和隐式等待的区别怎么理解? 和pause有什么区别?什么时候适用pause? 第二篇文章更清楚一点. 以下内容引自: https://www.cnblogs.com/xu-jia-l ...
- ATOM系列之-atom报错"Cannot load the system dictionary for zh-CN"
atom报错"Cannot load the system dictionary for zh-CN" 想必很多人(程序猿&程序媛)都和我一样,喜欢的这款很拉风的代码编辑器 ...
- 关于Python元祖,列表,字典,集合的比较
定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'], ...
- appium----【已解决】【Mac】环境配置提示“Xcode Command Line Tools are NOT installed!"
报错问题提示截图如下: 报错原因 :根据给出的信息很明显可以看到是"Xcode Command Line Tools"此工具没有安装 解决措施: 打开终端直接执行:xcode-se ...
- appium+python 清空文本框EditText的值
清空EditText的自动化脚本编写流程: 前提条件:进入到要删除文本框的页面 1.查找到要删除的文本框,可通过id.name等属性进行查找 2.点击 3.通过get_attribute(" ...
- MySQL安装及环境搭建
一.Windows 上安装 MySQL Windows 上安装 MySQL 相对简单,最新版本下载地址: 官网:https://dev.mysql.com/downloads/mysql/ 下载步骤: ...
- WebGL three.js学习笔记 自定义顶点建立几何体
自定义顶点建立几何体与克隆 Three.js本身已经有很多的网格模型,基本已经够我们的使用,但是如果我们还是想自己根据顶点坐标来建立几何模型的话,Three.js也是可以的. 基本效果如图: 点击查看 ...
- SpringBoot当中如何整合mybatis和注入
[学习笔记] 6.整合mybatis和注入: 马克-to-win@马克java社区: 根据第3部分的helloworld例子,用那个项目做底子.pom.xml只需要加入mybatis和mysql的部分 ...