购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 跨平台的文件传输协议

Linux操作系统下进行文件传输有多种方式,像scp、rcp、wget以及rsync等,但是这些文件传输方式都是基于Linux平台的,而做嵌入式系统开发,难免要跨平台操作文件,因此需要借助和平台无关的文件传输协议,那就是FTP。

2.5.1 什么是FTP

FTP(File Transfer Protocol,文件传输协议)属于应用层协议,处于OSI模型的最顶层,是基于TCP/IP的应用层协议。因此FTP属于可靠性连接协议,FTP开启的过程,就是套接字(Socket)建立过程,因此也经历了三次握手信号才建立起来。

和其他应用层协议不同的是,FTP会使用传输层的两个端口号,并且做了区分,21端口号是命令端口,20端口号表示数据传输端口。21端口控制Socket用来传送命令,20端口用于传送数据Socket。每一个FTP命令发送之后,FTP服务器都会返回一个字符串,其中包括一个响应代码和一些说明信息。其中的返回码主要用于判断命令是否被成功执行了。对于有数据传输的操作,主要是显示目录列表,而上传和下载文件,需要依靠另一个Socket来完成。

FTP又分主动模式和被动模式。主动模式:服务端通过指定的数据传输端口(默认20),主动连接客户端提交的端口,向客户端发送数据。被动模式:服务端开启数据传输端口的监听,被动等待客户端的连接,然后向客户端发送数据。这里主动和被动是相对于FTP服务器而言的,如果服务端主动连接客户端就是主动模式,服务端被动等待客户端连接(客户端主动连接服务端)就是被动模式。

2.5.2 虚拟机Linux系统启用FTP服务

FTP的优势在于能够跨平台传输文件。用户在Windows平台完成交叉编译后的文件,如何传输给Linux系统运行呢?又或者用户在Linux系统下编辑好的文档怎么传输到Win-dows平台?除了使用USB设备或者借助工具外,可以通过FTP跨平台文件传输。

为了方便读者快速使用FTP服务进行跨平台的文件互传,本小节将介绍虚拟机Linux系统启用FTP服务的过程,具体操作步骤如下。

Step 1 在启用虚拟机里的Linux系统FTP服务时,要确保物理机和虚拟机里的系统能够ping通,如图2-27和图2-28所示。

图2-27 虚拟机ping通物理机

图2-28 物理机ping通虚拟机

小白成长之路:FTP服务网络设置注意事项

物理机和虚拟机里的系统能ping通的实现前提是物理机和虚拟机都在同一个网段内,上一页的操作并没有使用同一网段内的IP地址也能相互通信的原因在于物理机使用无线局域网共享模式,且虚拟机在配置网络时,选择NAT方式连接,这样虚拟机就虚拟出了一台交换机,物理机的共享网络则连接在这台虚拟交互机上,因此物理机可以和虚拟机进行网络通信。

Step 2 安装FTP服务器,如图2-29所示。

Step 3 修改FTP服务器的配置参数,输入sudo vi /etc/vsftpd.conf,进入图2-30的界面。

图2-29 安装FTP服务器

图2-30 FTP参数设置

Step 4 重启FTP服务器,如图2-31所示。

图2-31 重启FTP服务器

Step 5 FTP服务器在虚拟机里搭建起来了,下面我们跨平台访问FTP服务器,如图2-32和图2-33所示。

图2-32 Windows平台下访问FTP服务器

图2-33 访问FTP服务器成功

Step 6 成功访问FTP后,就可以跨平台进行文件操作了,如图2-34所示。

图2-34 文件的跨平台操作 QL7zw+WEGzPZQeeHNglmJGfbUEjv+4dQDURs+uKWLsvvXV3ystTlLP9SCpQm4gH0

点击中间区域
呼出菜单
上一章
目录
下一章
×