在开发的过程中,经常遇到 需要在 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. MySQL版本浅介

    一.关于MySQL发行版介绍: 1. MySQL官方发行版 MySQL是最流行的数据库,主要特点: 简单:MySQL使用很简单,可以无师自通地参照文档安装运行和使用MySQL,几乎没有什么门槛. 开源 ...

  2. Docker数据映射

    1.映射目录 docker run -v 2.映射文件 docker run -v

  3. Jest中Mock网络请求

    Jest中Mock网络请求 最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下 ...

  4. ubantu硬盘不足,无法启动

    我的ubantu虚拟机经过我一顿操作后,就起不来了.然后经过多方询问,广集天下良方,最终发现是由于分配的硬件空间不足导致的.现象如下: 通过查看 root@ubantu:/snap# df -h Fi ...

  5. SpringSecurity-Shiro-初见

    目录 简介 实战环境搭建 SpringSecurity 认证和授权 权限控制和注销 记住我 Shiro 快速上手 shiro整合mybais 简介 在 Web 开发中,安全一直是非常重要的一个方面. ...

  6. 写了一年golang,来聊聊进程、线程与协程

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 进程 在早期的单任务计算机中,用户一次只能提交一个作业,独享系统的全部资源,同时也只能干一件事 ...

  7. go语言游戏服务端开发(一)——架构

    五邑隐侠,本名关健昌,12年游戏生涯. 本教程以Go语言为例.   网络游戏程序分为客户端和服务端.客户端负责图形渲染.交互和一些简单校验处理,服务端负责业务逻辑处理.数据存储. 我们开发一个游戏de ...

  8. Vue+elementUI 创建“回到顶部”组件

    1.创建"回到顶部"组件 1 <template> 2 <transition name="el-fade-in"> 3 <div ...

  9. PTA 面向对象程序设计 7-1 2017Final 圆周率山

    7-1 2017Final 圆周率山 为了参加学校的社团风采展,怡山小学数学组的同学们决定画一座圆周率山,以宣传圆周率. 已知圆周率为:3. 1415926535 8979323846 2643383 ...

  10. 做一个U盘的学习路线

    最近想研究一个U盘,然后顺便熟悉一下USB协议.因为USB协议比较复杂, 常用的复杂外设除了WiFi,Ethernet,SDIO和USB这些就是USB了,学习USB的时候肯定要拿一个东西下手,所以简单 ...