FTP网络主机间文件传输指令
在Windows中使用指令从远程主机(Linux系统)下载文件到本地,如下所示。若Windows(本地)主机与远程主机(Linux系统)所处两个局域网,则需使用VNP先保证两个局域网间网络畅通。C: \ Users \ Administrator > ftp 198.126 .1.1 //ftp建立连接。
·
FTP网络主机间文件传输指令
简介
使用方法
在本地主机(Windows系统)中使用指令从远程主机(Linux系统)下载文件到本地,如下所示。
注意事项有二:
- 若本地主机(Windows系统)与远程主机(Linux系统)所处两个局域网,则需使用VNP先保证两个局域网间网络畅通。
- 要是用
cd
和lcd
来调整当前ftp当前路径和远程(另一端)路径。待进行ftp文件传输两端的位置cd
、lcd
完成后,再进行mget
。
指令
以此官方文档为标准,建议大家直接看此文档。
登录ftp服务器
想要【远程服务器下载或向远程服务器上传】文件,需要先登录已安装有ftp服务的远程服务器。
C:\Users\Administrator>ftp 198.126.1.1 //ftp建立连接
Connected to 198.126.1.1
220 (vsFTPd 3.0.3)
User (198.126.1.1:(none)): ljh //输入要登录的该远程主机的用户账号
331 Please specify the password.
Password: //输入要登录的该远程主机的用户密码
230 Login successful. //提示登录成功
ftp> //进入ftp协议
进入ftp协议后的常用Linux指令均可正常使用
比如跳转路径、查看当前路径下的文件等等,如下所示。
ftp> cd /XXX/test/ //在远程主机中跳转目录到要下载的文件所在路径下,有博客提到“一般情况下用户都会被限制目录的访问权限,只可在当前目录下进行操作”
250 Directory successfully changed.
ftp> ls //查看远程主机当前路径下的文件列表
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
abc.xml //远程主机当前路径下的文件有“abc.xml”
226 Directory send OK.
ftp: 74 bytes received in 0.00Seconds 74.00Kbytes/sec.
dir指令
ftp>!dir //查看当前使用ftp协议的另一端所处位置下的目录和文件列表,实质是检查要传输的文件是否从远程主机传到了另一端(本地),还可以检查传输的文件是否下载到了此处。
指定文件传输类型
将文件传送类型设置为二进制。用于传送文件?
ftp>binary
get
有博客提到是用于下载单个文件,待确认。
get 要从远程服务器下载的文件名 下载到本地之后的文件名(此参数若空,则下载到本地之后的文件名取原名)
mget
有博客提到是用于批量下载多个文件,待确认。
mget 要从远程服务器下载的第一个文件名 要从远程服务器下载的第二个文件名 //以此类推,将所有需要下载的文件名列在此处,批量下载即可
put
put 要上传的文件名
关闭与ftp登录后建立的连接
保留ftp协议,仅与当前下载文件的服务器关闭FTP会话,可继续使用ftp协议与其他文件服务器建立FTP对话
ftp> close //保留ftp协议,但结束与当前下载文件的服务器的FTP会话
ftp>
结束与服务器的FTP会话并退出FTP环境
ftp> quit
C:\Users\Administrator> //回到了本机位置,如下行所示
待补
ftp> bye : 退出ftp会话过程
示例
随后,在本地主机(Windows系统)打开命令提示行,如下指令即可。
C:\Users\Administrator>ftp 198.126.1.1 //ftp建立连接
Connected to 198.126.1.1
220 (vsFTPd 3.0.3)
User (198.126.1.1:(none)): ljh //输入登录该远程主机的用户账号
331 Please specify the password.
Password: //输入登录该远程主机的用户密码
230 Login successful. //提示登录成功
ftp> cd /XXX/test/ //在远程主机中跳转目录到要下载的文件所在路径下,有博客提到“一般情况下用户都会被限制目录的访问权限,只可在当前目录下进行操作”
250 Directory successfully changed.
ftp> ls //查看远程主机当前路径下的文件列表
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
abc.xml //远程主机当前路径下的文件有“abc.xml”
226 Directory send OK.
ftp: 74 bytes received in 0.00Seconds 74.00Kbytes/sec.
ftp> lcd C:\Users\peter\ //在当前使用ftp协议的另一端(本地,非远程主机)进行cd操作,实质是设置ftp下载文件到本地的路径目录,
ftp> mget 文件全名*.xml //【将“cd到的路径下的符合该命名规范的文件”下载到“lcd到的另一端的当前路径”下,好像不对= =】。文件名称为“文件全名”的文件,虽然加了“*”,其实是为了防止不同操作系统间文件名称编码的问题。若此方法还是不行,直接使用mget *.xml全下载。
200 Switching to ASCII mode.
mget lvdsDma_20220718_112036.dat? Y //输入“Y”或“y”确认下载该文件;输入“N”或“n”取消下载该文件
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for abc.xml (3210788 bytes).
226 Transfer complete. //下载完成,Windows系统作为接收方时,文件默认下载到了C:\Users\Administrator(当前登录账户)\
ftp: 321074688 bytes received in 153.15Seconds 2096.51Kbytes/sec.
ftp>!dir //查看当前使用ftp协议的另一端所处位置下的目录和文件列表,实质是检查要传输的文件是否从远程主机传到了另一端(本地),还可以检查传输的文件是否下载到了此处。
ftp>close //保留ftp协议,但结束与当前下载文件的服务器的FTP会话
ftp>quit //退出ftp协议,回到本地位置,如下行所示
C:\Users\Administrator> //回到了本地位置,如下行所示
使用FTP指令远程下载文件遇到的问题
提示Consider using PASV
指令切换使用PASV模式:``。
FTP中的两种模式
PORT
:即standard
标准模式,主动模式。【需要在接上TCP 21端口后,服务器通过自己的TCP 20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASv的出现。——其意思类似于使用了TCP协议,使用固定端口建立持久连接?】PASV
:Passive的简写,被动模式。PASV模式就拥有PORT模式的优点及去掉一些PORT的缺点。PASV运行方式就是当服务器接收到PASV命令时,就会自动从端口1024到5000中随机选择,而且还会使用同一个端口来传送数据,不用建立新的连接。
两种模式详见
更多推荐
已为社区贡献1条内容
所有评论(0)