如何高效的在服务器和本地进行上传和下载文件

昨天, 师弟告诉我可以在xshell中使用sz进行下载, 想要上传的话用rz就行了. 然后我竟然没有听过. 学习最好的方法就是写一篇博客, 比如这篇.

1. 从putty到xshell

最开始, 是使用putty进行的服务器连接,痛点在于多窗口要开多个putty,切换麻烦。

xshell其实是有社区版的,注册一下就可以免费下载使用,xshell的各种好说不尽。

putty

xshell

2. FileZilla, Winscp到scp

FileZilla和Winscp都是窗口化的解决方案,scp命令可以在终端种执行, 想要下载到特定文件种,在文件中右键打开git bash,打开cmd

  • 上传文件file.txt到服务器: 然后运行scp file -P 22 dengfei@192.168.1.1:/home/dengfei/xxx
  • 下载文件file.txt到本地: scp -P 22 dengfei@192.168.1.1 :/home/dengfei/xxx/file.txt .
  • 如果端口是22, 那么-P 22可以省略 为了不每一次输入dengfei@192....之类的代码, 以及输入文件的绝对路径, 我编写了一个perl脚本, 自动定位文件所在的绝对路径, 并且加入scp的命令, 这样就可以生成一个命令,可以直接在本地的shell中下载服务器的内容: #!/usr/bin/perl use strict; chomp(my $pwd = `pwd`); print "scp dengfei\@192.168.3.44:$pwd/$ARGV[0] .\n";

现在看起来, 还是太复杂了. 怎么简单?

使用sz和rz啊.

3. sz和rz上传和下载

首先你的Linux上需要安装安装lrzsz工具包,(如果没有安装请执行以下命令,安装完的请跳过)

yum  install lrzsz

安装完毕即可使用。

3.1 下载

  • 服务器当前目录有一个hello.txt文档, 我要下载到本地的桌面上, 键入: sz hello.txt
  • 然后弹出保存文件的对话框, 默认是桌面, 点击确定即可

3.2 上传

  • 本地桌面上有个hello(2).txt文件, 想要上传到服务器本地文件中, 在服务器中键入: rz
  • 弹出一个对话窗口, 选择需要上传的文件, 点击确定

4. 太长不看篇

  • sz是下载命令
  • rz是上传命令
  • 如果没有这两个命令, 就安装lrzsz

服务器是centos的安装命令:

yum  install lrzsz

服务器是ubuntu的安装命令:

apt install lrzsz

5. sz和rz分不清楚

  • sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载
  • rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传
  • 记住一点,不论是send还是received,动作都是在服务器上发起的

本文分享自微信公众号 - 育种数据分析之放飞自我(R-breeding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券