Linux中文件上传、下载、传输:rz/sz/scp/wget

日常维护Linux服务器时,经常遇到文件传输的几个场景,本文记录下常用的命令用法。

出于安全考虑,服务器的ftp端口都是关掉的,所以ftp是无法使用的,这里也不做介绍。
更多Linux命令可参考《Linux常用命令》、《Linux基础》

  • 本地与服务器文件传输
  • 服务器之间传输文件
  • 下载网络文件到服务器

本地与服务器文件传输

  • 上传本地文件:rz
    rz后会弹窗引导选择文件,可选择多个文件。
  • 下载服务器文件到本地:sz
    sz 文件名...,会自动下载文件到本地目录;SecureCRT等工具支持设置默认下载目录。

注意:

  1. 当linux机器上本身就有同名文件的时候,rz命令不会覆盖文件;
  2. 当传输大文件时, 用rz时可能因网络中断导致传输失败。因此尽量用rz -bye,可以断点续传,尽量不要单独用rz

如果提示找不到命令,可执行yum -y install lrzsz安装。
也可以编译安装,麻烦不推荐:
root 账号登陆后,依次执行以下命令:

cd /tmp
wget https://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install

上面安装过程默认把lszlrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz

cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz

服务器之间传输文件

scp命令的用法可简单理解为scp [-P 端口号] 源 目标位置。远端目录可以表示为user@host:directory,远端文件则是user@host:directory/file

  • 向其他服务器发送文件:scp source user@host:directory(file)
  • 从其他服务器获取文件:scp [-P 端口号] user@host:directory(file) local_directory

例:scp test.tar.gz [email protected]:/home/me/

如果scp使用后报错REMOTE HOST IDENTIFICATION HAS CHANGED,如图:
Linux中文件上传、下载、传输:rz/sz/scp/wget_第1张图片
我们知道ssh加密传输,需要本地持有一个公钥。这个错误就是指本机存放的目标host的ssh公钥已经无效(可能因为目标host的ssh key修改过、或者重装过)
解决方案:
错误提示中告知了known_hosts的位置,修改该文件、删掉目标Host的记录即可。

下载网络文件到服务器

wget url,即可下载想要的网络资源。

更多Linux命令可参考《Linux常用命令》、《Linux基础》


以上。感谢您的阅读。

待更新:

  • scp详解
  • wget详解
  • 其他方案介绍

你可能感兴趣的:(#,└,Linux基础,#,└,软件安装,待更新)