linux文件传输(上传与下载)
引言
一般来说我们与Linux系统交互都是通过xshell和xft等工具连接,这些工具给我们提供了较为便捷操作Linux系统的途径,但是如果xftp无法使用(比如端口禁用)的情况下,我们就必须找另一种方式来实现文件传输了,所幸Linux提供了rz和sz命令来实现文件的传输,接下来分别记录一下两种方式的使用。
xftp进行文件传输
首先安装xftp,安装成功后,打开xftp, 依次点击 文件->新建,打开如下界面,名称自定义,主机输入目标ip, 协议默认使用SFTP, 端口号默认22端口, 输入用户名和密码,点击连接,建立安全连接。
如下图所示,右边正确加载Linux目录,则连接成功,此时可以使用xftp进行文件传输
rz 和 sz 进行文件传输
输入sz -h
和 rz -h
命令查看是否已安装 sz 和 rz, 如果能加载出 sz 和 rz 版本号如下图所示,则命令已安装。
sz -h # 查看sz 版本号和用法
rz -h # 查看rz 版本号和用法
如果未能加载版本号和usage,那么可能是命令没有安装,输入 yum install lrzsz
安装rz和sz命令
yum install lrzsz #安装rz和sz命令
rz(文件上传)
rz 命令是用于从本地传输文件到 Linux 服务器, 使用ZMODEM/YMODEM/XMODEM协议接收文件,依赖终端(如:xshell、putty等)支持,否则可能触发 *B00000000000000 错误。
用法:rz [options] [filename.if.xmodem]
, 其中 rz 是关键字, [options] 是可选项, 具体参数可以参考 rz -h
, [filename.if.xmodem] 是要上传的文件名(文件为弹窗选择)。
常用参数:
-a ascii传输(将CR/LF更改为LF)
-b 二进制传输
-e 转义控制字符
-u 文件名保持大写
使用示例:
1、rz -a
:打开一个文件选择对话框供用户选择文件,只用于传输文本,
2、rz -be
: 打开一个文件选择对话框供用户选择文件,选择完点击确定进行文件上传,出现如下界面则上传成功(以a.tar.gz文件为例)。
如果出现文件传输失败或很长时间未响应,可能是不支持文件格式,可以尝试使用 tar 命令压缩文件,然后进行文件传输。Windows环境下以 a.txt 文件 为例 ,打开cmd 窗口,进入 a.txt 文件目录,输入 tar -zcvf a.tar.gz a.txt
, a.tar.gz 为目标文件(压缩后文件)名称, a.txt 为源文件(待压缩文件)名称。
tar 用法:
tar -zcvf targetFile sourceFile # 将 sourceFile 压缩为 sourceFile , 后缀名不能丢
tar -zxvf sourceFile # 将 sourceFile 解压到当前目录
以a.tar.gz 和 a.txt 文件为例:
sz(文件下载)
sz命令是用于从Linux服务器传输文件到本地,一次可以传输一个或多个文件, sz命令依赖终端(如:xshell、putty等)支持,否则可能触发 *B00000000000000 错误。
用法: sz [options] file ...
,其中sz 是关键词,[options] 是可选项, 具体参数可以参考sz -h
, file … 是可变参数, 可以传输一个或多个文件,多个文件用空格隔开,例如:sz -a file1 file2
常用参数:
-a ascii传输(文本方式传输)
-b 二进制方式传输(binary)
-e 转义所有控制字符
使用示例:
1、sz -a file1
:文件file1为文本时,使用该命令传输文件。如果到目标主机后打开发现中文乱码,那么可能编码方式不对,可以用文本编辑器打开文件调整文本编码方式,这里以Notepad++为例,假设文件file1的编码方式为UTF-8:打开方式选择Notepad++打开文件,依次点击 编码 -> 使用UTF-8编码 ,这样就可以使中文正常显示。
2、sz -be file1
: 文件为二进制文件时,使用该命令传输。