linux - sftp, scp, rz, sz(文件传输命令)

1. sftp

Secure Ftp 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作)。Sftp与ftp虽然只有一字之差,但基于的传输协议却是不同的。因此不能用sftp client去连接ftp server 也不能用 ftp client 去连接 sftp server。 

复制代码

建立连接:sftp user@host
从本地上传文件:put localpath
下载文件:get remotepath

切换远程目录:cd
显示远程工作目录:pwd
建立远程目录:mkdir
与远程相对应的本地操作,只需要在命令前加上”l” 即可,方便好记。
如:lcd l pwd l mkdir

复制代码

2. scp

SCP :secure copy (remote file copy program) 也是一个基于SSH安全协议的文件传输命令。与sftp不同的是,它只提供主机间的文件传输功能,没有文件管理的功能。

简单的命令如下:

复制local_file 到远程目录remote_folder下

scp local_file remote_user@host:remote_folder

复制local_folder 到远程 remote_folder(需要加参数 -r 递归)

scp -r local_folder remote_user@host:remote_folder
如:将本地 logs 文件夹下的所有文件复制到服务器上
scp -r /Users/lily/Desktop/test/logs root@ip:~

以上命令反过来写就是远程服务器复制到本地

如:从测试服务器复制日志文件到本地 logs 目录下
scp user@ip:/data/app/xxx/logs/catalina.out /Users/lily/Desktop/test/logs/

3. scp sftp区别

SCP比较简单,是轻量级的,SFTP的功能则比较多

SFTP在文件传输过程中中断的话,连接后还可以继续传输,但SCP不行

4. sz/rz

sz/rz 是基于ZModem传输协议的命令。对传输的数据会进行核查,并且有很好的传输性能。使用起来更是非常方便,但前提是 window 端需要有能够支持ZModem的telnet或者SSH客户端,例如secureCRT。

首先需要在secureCRT中可以配置相关的本地下载和上传目录,然后用rz、sz命令即可方便的传输文件数据。

下载数据到本地下载目录:sz filename1 filename2 …

上传数据到远程:执行rz –be 命令,客户端会弹出上传窗口,用户自行选择(可多选)要上传的文件即可。

注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。

-b binary 用binary的方式上传下载,不解释字符为ascii

-e 强制escape 所有控制字符,比如Ctrl+x,DEL等

sz   **** 命令,保存文件****到windows

rz  命令,会弹出窗口,选择要上传的文件 

如果没有安装,需安装

yum install lrzsz  # centos

sudo apt-get install lrzsz  # Debian 和 Ubuntu
brew install lrzsz was  # Mac OS X

macOS 中使用 rz、sz 传输文件

mac上使用rz,sz命令,mac上的终端不支持rz 和sz,所以安装iterm并配置使用rz和cz

1、首先需要下载安装iterm2,下载地址:下载后安装

http://www.iterm2.cn/download

2、使用brew 安装lrzsz

  终端输入brew install lrzsz,如果没有安装homeBrew需要先安装
   安装完成后检查 ls -alh /usr/local/bin/sz 是否存在

3、添加trigger

lrszs命令安装成功之后就是要创建两个脚本到/usr/local/bin目录,脚本地址:

https://github.com/mmastrac/iterm2-zmodem

最后修改iterm2的配置:

 打开iterm2------  同时按 command和,键 -------Profiles ----------  Default ------- Advanced ------ Triggers的Edit按钮

点击+号,添加如下的参数,参考下图                                                                                  

 

Regular expression: /*/*B0100

  Action: Run Silent Coprocess

    Parameters:/usr/local/bin/iterm2-send-zmodem.sh

    Regular expression: /*/*B00000000000000

    Action: Run Silent Coprocess

    Parameters:/usr/local/bin/iterm2-recv-zmodem.sh

4、使用rz,sz命令

进入到一个目录下sz+文件名称,可以下载一个文件,最后选择下载到的目录

进入到一个目录下rz可以上传一个文件,最后选择上传的文件

-----------------------------------------------------

Linux下和Windows之间的文件传输工具rz/sz(lrz/lsz) 介绍

【什么是rz/sz (lsz/lrz)】

简单说就是,可以很方便地用这两个sz/rz工具,实现Linux下和Windows之间的文件传输(发送和接收),速度大概为10KB/s,适合中小文件。rz/sz 通过Zmodem协议传输数据。

【为什么要用rz/sz】

普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了。大文件的话,还是要考虑上面说得,其他的共享方法了,毕竟,rz/sz速度只有10K左右,传大文件会累死人的。。。

【如何使用】

(1)在Windows下,用SecureCRT(或者Windows自带的超级终端)连接Com端口到开发板,或者ssh等协议连接到Linux服务器上。

(2)在Linux端,安装了rz/sz (lrz/lsz)工具后(嵌入式开发中,多数已经将编译好的rz/sz工具放到rootfs中了,普通的Linux系统,如果没有,可以下载源码,自己安装),就可以直接运行rz/sz,实现和Windows之间的文件传输了:

  A、从windows中拷贝/下载文件到Linux(开发板):

  运行rz后,会自动弹出WIndows下的文件选择对话框,选择对应文件后,添加,然后确定,就开始传输,将windows中的文件,拷贝到Linux中了。

  B、将Linux中的文件拷贝到Windows中某个文件夹:

  执行sz file_name 就可以将Linux当前文件夹下的文件file_name拷贝到Windows的对应目录中了,其中,Windows目录是由你当前运行的工具中设定的。

  此处我用的是SecureCRT,具体的更改 rz上传/sz下载 的默认的路径的方法:

  右键点击当前会话session -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories :

  Upload : 你要设置的路径

  Download:你要设置的路径
 

参考:

【1】Linux下几种文件传输命令 sz rz sftp scp_寂寞相思鸟-CSDN博客_linux上传文件命令

【2】mac上使用使用rz,sz命令_不变的24号-CSDN博客

linux - sftp, scp, rz, sz(文件传输命令) - 栗子lin - 博客园 (cnblogs.com)

Guess you like

Origin blog.csdn.net/tjcwt2011/article/details/120779486