在开发的过程中,经常遇到 需要在 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. 操作系统的IO模型

    IO操作根据设备类型一般分为内存IO,网络IO,和磁盘IO.其中内存IO的速度大大快于后两者,计算机的性能瓶颈一般不在于内存IO. 尽管网络IO可通过购买独享带宽和高速网卡来提升速度,可以使用RAID ...

  2. Redis中关于key的操作指令

    1.keys: 例如: 2.exists 3.move 将指定的数据移动到指定的库 4.expire 5.tt1 6.type 7.rename 8.del

  3. jvm学习笔记:类加载过程

    类加载器子系统 类加载器的作用是加载class文件到内存 加载阶段->链接阶段->初始化阶段 ClassLoader只负责class文件的加载,至于是否能够运行由执行引擎判断 加载的类信息 ...

  4. JS010. 三元运算符扩展运用(多层判断语句 / 多条表达式)

    MDN - 三元运算符 语法 Condition ? exprIfTrue : exprIfFalse 用例: function getFee(isMember) { return(isMember ...

  5. Azure 实践(4)- CI/CD .netcore项目Docker构建及部署

    上篇已介绍了.netcore项目构建的相关步骤,本篇继续完善 1.什么是CI/CD CI/CD 中的"CI"始终指持续集成,它属于开发人员的自动化流程.成功的 CI 意味着应用代码 ...

  6. C# 中 AppDomain 的一些理解

    C# 中 AppDomain 的一些理解 前言 一直想写一个这样的程序:与其它的程序完全解耦,但可以动态的加载其它程序,并执行其中的特定方法,执行完后可以卸载,完全不影响该程序本身.最近无意间发现了 ...

  7. 离散化模板题 I ——重复元素离散化后的数字相同

    离散化模板题 I --重复元素离散化后的数字相同 题目描述 现有数列A1, A2, ⋯, An,数列中可能有重复元素. 现在要求输出该数列的离散化数列,重复元素离散化后的数字相同.  输入 第一行,一 ...

  8. Python程序调用摄像头实现人脸识别

    使用简单代码实现摄像头进行在线人脸识别 import cv2 import sys import logging as log import datetime as dt from time impo ...

  9. 手把手教你调试SpringBoot启动 IoC容器初始化源码,spring如何解决循环依赖

    授人以鱼不如授人以渔,首先声明这篇文章并没有过多的总结和结论,主要内容是教大家如何一步一步自己手动debug调试源码,然后总结spring如何解决的循环依赖,最后,操作很简单,有手就行. 本次调试 是 ...

  10. Git(2) - git安装、本地仓库与远程仓库使用详细指南

    git版本控制工具 下载地址:https://www.git-scm.com/download/win选择对应版本的工具,下载后是一个exe执行文件: 常用git命令 命令 作用 git init(在 ...