Linux利用ssh上传下载文件

Linux利用ssh上传下载文件

文章内容部分参考自
—— [Linux基础:利用SSH上传、下载(使用sz与rz命令)]
—— [linux rz上传与sz下载]

通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件。当然,我们可以利用FTP方式,比如通过Filezilla客户端软件。不过直接使用SSH软件(SecureCRT、Xshell)自带的上传和下载功能无疑使最方便快捷的。通常SSH软件支持的文件传输协议主要有ASCII、Xmodem、Zmodem等。
rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具。

sz命令发送文件到本地

代码如下:

下载一个文件
sz filename
下载多个文件
sz filename1 filename2
下载dir目录下的所有文件,不包含dir下的文件夹
sz dir/*

rz命令本地上传文件到服务器

在命令终端输入rz回车后,就会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。
注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -bey,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
-b binary 用binary的方式上传下载,不解释字符为ascii
-e 强制escape 所有控制字符,比如Ctrl+x,DEL等。

目录说明:

打开SecureCRT软件 -> Options -> session options -> X/Y/Zmodem 下可以设置上传和下载的目录

理解记忆

对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混):
  • sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。
  • rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。

记住一点,不论是send还是received,动作都是在服务器上发起的。我们习惯了说上传或是下载,其实大可不必。使用这两个命令,只要思考一点,是要把文件从服务器上发送出去,还是从客户端接收回来,就可以了。
好吧,最后总结为一句话:我(客户端)上传,你(服务器)接收(RZ),我下载(客户端),你(服务器)发送(SZ)。


你可能感兴趣的:(Linux)