Linux基础:利用SSH上传、下载(使用sz与rz命令)
1、简述
通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件。当然,我们可以利用FTP方式,比如通过Filezilla客户端软件。不过直接使用SSH软件(SecureCRT、Xshell)自带的上传和下载功能无疑使最方便快捷的。通常SSH软件支持的文件传输协议主要有ASCII、Xmodem、Zmodem等。
rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
使用前提:
首先,你的Linux端(CentOS, Ubuntu)需要安装rz/sz命令,也就是 lszrz 包。
其次,windows端需要支持ZModem的telnet/ssh客户端(Xshell,SecureCRT支持,好像putty不支持),SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)
运行命令rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。如果要上传文件,直接用鼠标点住文件往X-shell里面一拖即是
运行命令 sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了
2、文件传输协议
文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常见的传输协议有以下几种:
ASCII:这是最快的传输协议,但只能传送文本文件。
Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。
Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快
Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。
3、在Linux上安装lrzsz
单单是SSH客户端软件支持以上文件传输协议(ASCII,Xmodem,Ymodem,Zmodem)还不行,我们的Linux服务器上也得安装相应的软件,以支持这些文件传输协议才行。在Linux上,lrzsz就是完成此任务的,lrzsz就是一个支持 Zmodem 传输协议的工具。我们通过sz/rz两个命令,分别发送/接收文件。如果我们的系统中没有安装lrzsz这个包,就会报错,安装即可解决。
1
2
3
4
5
6
7
|
[root@localhost ~] # rz
- bash : rz: command not found
## For CentOS/RHEL
[root@localhost ~] # yum -y install lrzsz
## For Ubuntu
# sudo apt-get install lrzsz
|
4、理解记忆
其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混):
sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。
rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。
记住一点,不论是send还是received,动作都是在服务器上发起的。我们习惯了说上传或是下载,其实大可不必。使用这两个命令,只要思考一点,是要把文件从服务器上发送出去,还是从客户端接收回来,就可以了。
好吧,最后总结为一句话:
我(客户端)上传,你(服务器)接收(RZ),我下载(客户端),你(服务器)发送(SZ)。
5、简单用法
sz用法:发送出去
1
2
3
4
5
6
|
### 下载一个文件:
# sz filename
### 下载多个文件:
# sz filename1 filename2
### 下载dir目录下的所有文件,不包含dir下的文件夹:
# sz dir/*
|
rz用法:接收回来
1
2
3
4
|
### 直接键入rz命令即可
# rz
### 直接拖动文件到 xshell, 或者 SecureCRT 窗口即可
|
输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。
6、设置默认路径
SecureCRT:
设置上传和下载的默认目录:
英文版: options — session options — X/Y/Zmodem。
中文版: 选项— 会话选项— X/Y/Zmodem。
Xshell:
设置上传和下载的默认目录:
File -> Properties -> ZMODEM
7、操作演示(仅演示Xshell,其他类似)
rz命令(下载)
当我们键入rz命令之后,会弹出文件选择对话框,选择需要传输的文件,点击 Add 即可。
接收的目录就是我们当前执行rz命令的目录。
今天又发现一个更简单直接的方法,直接选中文件,用鼠标点住文件往Xshell里面一拖就可以了。
sz命令(上传)
假设我要发送文件,直接使用sz命令, 其后接上文件名即可。同理,敲下回车后,也会弹出对话框,让我们选择接收的文件夹。
1
|
[root@localhost ~] # sz nagios-4.0.7.tar.gz nagios-plugins-2.0.3.tar.gz
|
8、问题
xshell或者SecureCRT 启动 tmux或screen之后,sz, rz 命令都无法弹出正常的文件选择窗口,该如何解决?
看起来 tmux
下不支持 zmodem
,所以这两个命令也用不了。
链接: http://sourceforge.net/p/tmux/tickets/6/
如果换用 screen
的话应该是可以使用 sz/rz 的,很早之前我曾在 Windows 的 SecureCRT 上面成功使用过。
需要在 .screenrc
里面设置 zmodem catch
,也许还需要 rz -e
。细节记得不是很清楚了。
9、缺点
使用lszrz非常方便,但是有一点不足之处: 无法传输大于 4G 的文件。
那肿么办呢? 可以使用Filezilla, SecureFX 这些FTP工具来替代了。
from: http://skypegnu1.blog.51cto.com/8991766/1538371
Linux基础:利用SSH上传、下载(使用sz与rz命令)相关推荐
- linux lftp下载目录,linux中使用lftp上传下载文件
lftp是linux中一款ftp服务器相比windows中的ftp显得要复杂不少了,下面我来总结一下lftp文件上传,文件下载,及文件查找等等相关命令吧. lftp连接的几种方法,最常用的是lftp ...
- Linux下scp无密码上传 下载 文件 目录的方法
这篇文章主要介绍了Linux下scp无密码上传 下载 文件 目录的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在Linux下远程备份的时候,需要配置scp的 无密码复制文件.目录.就把这个 ...
- Linux环境Shell脚本上传下载阿里云OSS文件
为什么80%的码农都做不了架构师?>>> Linux环境Shell脚本上传下载阿里云OSS文件 背景 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久, ...
- linux ftp 登录慢,linux中vsftpd登录,上传下载文件慢解决办法linux操作系统 -电脑资料...
vsftpd登录慢主要是nameserver #定义DNS服务器的IP地址没有设置了,这样我们只要设置或更新一下nameserver即可解决了, 在使用vsftpd的过程中,一直以来都有一个问题就是在 ...
- linux百度网盘上传下载bypy
linux百度网盘上传下载bypy 安装bypy 链接百度云 上传文件或文件夹 下载文件或文件夹 关闭链接.退出授权 其他操作 安装bypy pip install bypy 链接百度云 bypy i ...
- Linux使用SSH上传下载文件,Linux下通过ssh scp命令上传下载文件
Linux下通过ssh scp命令上传下载文件. 1.上传本地文件到服务器 scp /path/filename username@servername:/path/ 例如 scp /var/tale ...
- Linux使用SSH上传下载文件,linux下用ssh上传,下载文件
一,ssh上传文件 scp file username@hostIP:文件地址 例: [zhangy@BlackGhost ~]$ scp test.sql zhangying@192.168.1.5 ...
- Linux or unix FTP 上传下载实例
unix FTP 上传下载实例 vincent 发表于 2007-07-31 16:22:07 命令行方式使用FTP实战练习 简单上传下载实例(/*....*/为注释): 先假设有一FTP服务器,FT ...
- linux ssh上传下载文件命令SCP使用方法
在linux环境里,我们从服务器上下载或者从本地上传文件到服务器上可以通过SCP命令来实现. SCP即Security Copy,是基于SSH登录实现的远程文件拷贝命令. 命令参数: -r: 递归复制 ...
最新文章
- 微信小程序实现滑动翻页效果源码附效果图
- andriod studio中的显式跳转和隐式跳转
- 华为配置SSH登陆详细步骤
- 不需要SAP请求号修改程序的方法
- Http、Socket和WebService协议之间的区别
- c 窗体程序 mysql_C\C++开发MySQL程序简介(下)
- 基于空间相关的图像模板匹配及MATLAB实现
- 均值滤波、中值滤波、混合中值滤波C++源码实例
- 面向全场景模块化设计,京东智联云的服务器部署有多灵活?
- 四分之一波长阻抗变换器
- Android DataBinding 从入门到进阶
- leetcode------Flatten Binary Tree to Linked List
- 解决 ThinkPad x270 安装 ubuntu 14.04 后的网络问题
- ORA-01017 错误
- 好用的自媒体爆文素材采集技巧,提高爆文创作几率
- java实现pdf黑白化 : pdf转图片、图片黑白化、图片转pdf
- 极简网页设计技巧,打造简约之美
- Python常用音频库
- android按钮被遮住,解决Android 虚拟按键遮住了页面内容的问题
- python如何判断tcp异常断开_TCP socket如何判断连接断开
热门文章
- 数据挖掘十大经典算法之——K-Means 算法
- 【Python】简单的最优算法函数创建
- Hyperledger Fabric 1.4 Kafka集群部署教程
- Facebook:使用Libra完成第一笔交易
- 百度发布机器人助理度秘 “三大基石”炼成
- java 单例模式 泛型_设计模式之架构设计实例(工厂模式、单例模式、反射、泛型等)...
- Java蓝牙电话_Android mediaPlayer和蓝牙汽车/耳机电话
- Redis进阶-Redis使用建议一二事
- Shell-alias在Shell脚本中的使用
- 删除机器人 异星工厂_10个视频,它们是国内智能工厂的标杆