在开发的过程中,经常遇到 需要在 Linux 和 Windows 之间上传下载文件的情况

这时,一般都是使用 FTP 或者 WinSCP 工具进行上传下载, 虽然也能解决问题,但是这些工具需要在本地安装客户端并进行配置之后才能使用

这里介绍一款工具,它能秒级安装,安装即用,不需要任何的配置,就能方便快捷的在 Linux 和 Windows 之间传输文件

它就是Linux中上传下载的工具 lrzsz ,这个工具使用了 XMODEM、YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载的,目前主流的SSH连接工具 ( SecureCRT、XShell 等 ) 都支持这些协议

安装

在使用 lrzsz 之前需要先在Linux下安装,它 大小只有几百KB, 安装是非常方便的, 基本秒级完成, 通过下面的命令就可以安装

yum install -y lrzsz

安装完成之后,输入 sz --v 或者 rz --v 命令,如果有如下输出,则表示安装成功

[root@ecs-centos-7 ~]# sz --v
sz (lrzsz) 0.12.20
[root@ecs-centos-7 ~]# rz --v
rz (lrzsz) 0.12.20

设置上传下载目录

在使用rz/sz 命令之前,需要先在 SSH工具的设置上传下载目录,下面以 SecureCRT 为例来说明下

在 SecureCRT 中打开一个SSH会话后, 打开会话选项窗口,选择 终端 -> 外观 -> X/Y/Zmodem , 然后就可以设置上传和下载目录了, 如下图所示

  • 上传目录

当在 Linux 上执行 rz 命令之后,弹出选择发送文件窗口时,默认选择文件的目录就是上面设置的上传目录

  • 下载目录

在 Linux 上执行 sz a.txt 命令之后,Linux 上的文件a.txt默认的本地下载目录就是上面设置的下载目录

关于X/Y/Zmodem

  • Xmodem

Xmodem 是一种古老的传输协议, 传输速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。

  • Ymodem

这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快

  • Zmodem

Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。

上面几种传输协议,目前Zmodem 是使用得最多的,下面介绍的 rz/sz 命令就是使用该传输协议的,命令中的 z 表示使用 Zmodem协议

将Win上文件上传到Linux

在Linux终端中输入 rz + 回车 ,在弹出的对话框中选择要上传的文件,点击添加,再确认,本地的文件就会上传到终端当前所在的目录中,上传的文件名默认和本地的文件名一致

rz 支持一次上传多个文件,只要选择需要上传文件的时候选择多个文件即可

另外,rz上传命令,如果Linux终端当前目录已经存在同名文件了,那么默认不会执行上传,要 -y 覆盖才可以

将Linux文件下载到Win上

把当前目录下的 a.txt 下载到本地

[root@ecs-centos-7 tmp]# ls
a.txt
[root@ecs-centos-7 tmp]# sz a.txt
zmodem trl+C ȡ 100% 28 bytes 28 bytes/s 00:00:01 0 Errors [root@ecs-centos-7 tmp]#

执行 sz a.txt 命令默认把 a.txt 下载到本地,下载到本地哪个目录中,是在SSH连接工具中配置的,下载到本地的文件默认和命令中使用相同的文件名

下载进度、下载速度、用时、错误数会实时显示在 Linux的终端会话上

sz 也支持一次下载多个文件到本地

[root@ecs-centos-7 tmp]# ls
a.txt b.txt
[root@ecs-centos-7 tmp]# sz a.txt b.txt
zmodem trl+C ȡ 100% 28 bytes 28 bytes/s 00:00:01 0 Errors
100% 11 bytes 11 bytes/s 00:00:01 0 Errors [root@ecs-centos-7 tmp]# sz *.txt
zmodem trl+C ȡ 100% 28 bytes 28 bytes/s 00:00:01 0 Errors
100% 11 bytes 11 bytes/s 00:00:01 0 Errors [root@ecs-centos-7 tmp]#

上面的例子中,Linux终端当前目录下有 a.txt 、b.txt 两个文件,执行 sz a.txt b.txt 或者 sz *.txt 命令都可以实现批量下载文件到本地

注意

使用 rz/sz 有几点需要注意的地方

  • Linux 上启动了 tmux 之后,无法使用 rz/sz 命令,这是由于 tmux 不支持Zmodem 协议,如果想要使用 rz/sz 的话只能先退出 tmux, 关于 tmux 可以参考 再也不用担心 SSH 断开了 - tmux 命令

  • rz/sz 不支持超过4G的文件,上传下载4G及以上大小的文件只能由 FTP 或者 WinScp 等工具来解决了

小结

本文介绍了文件上传下载的工具 lrzsz,它体积小,使用起来方便快捷,学会使用它,会显著的提高日常工作效率

Linux上传下载神器之 lrzsz的更多相关文章

  1. linux上传下载小工具lrzsz

    工具压缩包链接 密码:zbef 1.将压缩包放到linux的任意目录下,执行:tar zxvf lrzsz-0.12.20.tar.gz 解压压缩包 2.cd lrzsz-0.12.20 3../co ...

  2. rz和sz上传下载文件工具lrzsz

    ######################### rz和sz上传下载文件工具lrzsz ####################################################### ...

  3. SecureCRT、Xmanager对Linux上传下载文件或文件夹

    (1).SecureCRT SecureCRT对Linux上传下载文件或文件夹拥有一个专门的软件SecureFXPortable.对于它来说只有两个的难题,一个是版本问题,尽量去官网下载最近版本:另一 ...

  4. linux上传下载

    linux传下载 1.可以通过xftp连接服务器直接 拖拽 2.yum install lrzsz   通过rz/sz命令上传下载

  5. 通过xshell/securecrt连接linux上传/下载文件

    通过ssh等客户端连接远程linux总会有上传下载的需求,这里分别用Ubuntu和centos展示安装lrzsz软件的命令,使用命令是一致的,这里简单写 1.安装: centos:(注:参数-y中的意 ...

  6. linux上传下载文件rz,sz

    [一般用于SecureCRT ssh中使用] █ 法一:直接用yum安装lrzsz(推荐) yum install lrzsz -y 注意:rhel安装完系统后 直接可使用 rz sz █ 法二:源文 ...

  7. putty对Linux上传下载文件或文件夹

    putty是一个开源软件,目前为止最新版本为0.70.对于文件或文件夹的上传下载,在Windows下它提供了pscp和psftp两个命令. (1).pscp pscp在命令提示符中使用,只要putty ...

  8. Linux上传下载文件快捷命令

    远程链接Linux(如SecrueCRT),要上传文件很下载文件到Linux服务器,只需要使用sz或者rz命令即可快速下载和上传文件了. 使用方法: 1.首先确保Linux服务器系统中安装了lrzsz ...

  9. Xshell上Linux上传下载文件

    Xshell上的Linux想要进行文件的上传和下载可以使用以下命令: #rz //将本地的文件上传到Linux服务器,执行后会弹出选择文件的框 #sz filename //将 filename 这个 ...

随机推荐

  1. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数

    @ 目录 前言 二阶与三阶行列式 二阶行列式 三阶行列式 全排列及其逆序数 全排列 逆序数 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ...

  2. 【死磕NIO】— NIO基础详解

    Netty 是基于Java NIO 封装的网络通讯框架,只有充分理解了 Java NIO 才能理解好Netty的底层设计.Java NIO 由三个核心组件组件: Buffer Channel Sele ...

  3. Python入门学习之:10分钟1500访问量

    看效果: 不扯没用的,直接上代码: # author : sunzd # date : 2019/9/01 # position : beijing from fake_useragent impor ...

  4. epoll经典代码示例

    1. epoll原理 原理性的知识不再另做说明,我在这里附上收藏整理的两篇经典文章: select与epoll的本质关系. select.poll.epoll之间的区别. 2. epoll服务器端经典 ...

  5. Spring Boot中使用@Async的时候,千万别忘了线程池的配置!

    上一篇我们介绍了如何使用@Async注解来创建异步任务,我可以用这种方法来实现一些并发操作,以加速任务的执行效率.但是,如果只是如前文那样直接简单的创建来使用,可能还是会碰到一些问题.存在有什么问题呢 ...

  6. Linux系列(9) - whoami和whatis

    whoami 作用:当前你登录的用户是谁 whatis [命令] 作用:查询[命令]是干嘛的 我们试一下对文件和目录whatis行不行,结果发现不行:但是有没有发现对命令whatis也不行,为什么呢: ...

  7. redis的持久化 与事务管理

    1. redis的持久化 Redis的持久化主要分为两部分:RDB(Redis DataBase), AOF(Append Only File) 2. 什么是redis 的持久化        在指定 ...

  8. Python turtle.right与turtle.setheading的区别

    一.概念 turtle.right与turtle.left用法一致,我们以turtle.right为例进行讲述. turtle.right(angle)向右旋转angle角度. turtle.seth ...

  9. P5074-Eat the Trees【插头dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P5074 题目大意 给出一个\(n\times m\)的网格,有的必须铺线有的不能,铺成若干条闭合回路,求方案数. ...

  10. 老板说,你给我1分钟内下载1000张图片!So,easy!

    上班的某一天,领导过来说!你帮下载一些图片资源,我以为就几张来着,原来是几十百来个网站要去保存图片!是要我把搞!!! 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的时候并没有另存为 ...