文章目录
- 1. 小文件互传
- 2. 大文件互传
1. 小文件互传
使用sz
命令。
说明:
sz
命令是ZModem文件传输协议的一部分,用于在Linux和Unix系统中,从本地系统发送(send)文件到远程系统。sz命令通常与rz命令(ZModem接收文件)一起使用,二者通常会在像SecureCRT、XShell等终端软件中使用。
需要注意的是,sz和rz命令需要在你的服务器和SSH客户端都安装了lrzsz包才能使用。如果没有安装,你可以使用你的包管理器(如apt或yum)来安装。例如,在Ubuntu上,你可以使用以下命令来安装:
sudo apt-get install lrzsz
具体例子:
-
第一步:在登录到远程服务器后,先定位到你想要传输的文件所在的目录,例如,如果你想要传输的文件是
/home/user/test.txt
,那么切换到那个目录:cd /home/user/
-
第二步:可以使用
sz
命令来发送这个文件:sz test.txt
-
第三步:执行这个命令后,SecureCRT或Xshell会弹出一个窗口让你选择在本地电脑上保存文件的路径。选择一个路径后,文件就会开始传输。
-
第4步:传输完成后,你就可以在本地电脑的指定路径下找到那个文件。
2. 大文件互传
当sz
命令无法传输文件时,才使用此方法。往往表现为使用sz
命令传输文件中途卡死,可能是含有特殊符号,也可能是文件太大。此时有两种方式可以选择。
- 方式一:借助 python 调起server服务,进行传输。
- 语法:
# 1. 服务器端:cd 到相应的目录下,然后启动服务 python -m SimpleHTTPServer 端口号 # 2. 本地机器 wget 服务器主机名:服务器端口号/启动的python服务的目录为根目录
- 案例:上传
/home/user/test.txt
文件# 1. cd 到相应的目录下 cd /home/user/ # 2. 服务器端:在/home/user/下启动python服务 python -m SimpleHTTPServer 8012 # 3. 本地机器 wget m1-sys-abcdef.baidu.com:8012/test.txt
- 语法:
- 方式二:借助
nc
命令- 语法:
# 1. 服务器端:cd 到相应的目录下,然后启动服务 nc -l 端口号 > 文件路径 # 2. 本地机器 nc -w 1 服务器主机名 服务器端口号 < 下载到本地哪里
- 案例:上传
/home/user/test.txt
文件# 1. 服务器端:在/home/user/下启动python服务 nc -l 8100 > /home/user/test.txt # 3. 本地机器 nc -w 1 m1-sys-abcdef.baidu.com 8100 < test.txt
- 服务器:
nc
:这是netcat的简写,它是一个通用的工具,可以用来读取和写入网络连接。它被广泛用于网络调试和探索。-l
:这是netcat的一个参数,表示监听模式。在这种模式下,netcat将等待并接受入站连接,而不是主动发起连接。8100
:这是netcat监听的端口号。可以随意设置。>
:这是shell的重定向操作符。它将左侧命令的输出(在这个情况下,是netcat接收到的数据)重定向到右侧的文件。
- 本地机器:
nc
:这是netcat的简写,是一个用于处理TCP/IP协议的网络工具,可以用来进行数据读取和写入。-w 1
:这是netcat的一个参数,-w后面的数字表示超时时间(秒)。在这个命令中,-w 1 表示如果1秒内没有任何网络活动,那么netcat就会断开连接。m1-sys-abcdef.baidu.com
:远程服务器的主机名或者IP地址。8100
:这是远程服务器的端口号。<
:这是shell的重定向操作符。它将右侧的文件(在这个情况下,是updt-spark-1.0-SNAPSHOT.jar文件)的内容作为左侧命令的输入(在这个情况下,是netcat命令)。
- 服务器:
- 语法: