昨天, 师弟告诉我可以在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工具包,(如果没有安装请执行以下命令,安装完的请跳过)
代码语言:javascript复制yum install lrzsz
安装完毕即可使用。
3.1 下载
- 服务器当前目录有一个hello.txt文档, 我要下载到本地的桌面上, 键入: sz hello.txt
- 然后弹出保存文件的对话框, 默认是桌面, 点击确定即可
3.2 上传
- 本地桌面上有个hello(2).txt文件, 想要上传到服务器本地文件中, 在服务器中键入: rz
- 弹出一个对话窗口, 选择需要上传的文件, 点击确定
4. 太长不看篇
- sz是下载命令
- rz是上传命令
- 如果没有这两个命令, 就安装
lrzsz
服务器是centos的安装命令:
代码语言:javascript复制yum install lrzsz
服务器是ubuntu的安装命令:
代码语言:javascript复制apt install lrzsz
5. sz和rz分不清楚
- sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载
- rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传
- 记住一点,不论是send还是received,动作都是在服务器上发起的