LV02-ubuntu-FTP服务器

本文主要是说明在ubuntu中安装使用FTP服务器的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。

点击查看使用工具及版本
PC端开发环境 Windows Windows11
Ubuntu Ubuntu20.04.2的64位版本
VMware® Workstation 16 Pro 16.2.1 build-18811642
终端软件 MobaXterm(Professional Edition v23.0 Build 5042 (license))
Win32DiskImager Win32DiskImager v1.0
Linux开发板环境 Linux开发板 正点原子 i.MX6ULL Linux 阿尔法开发板
uboot NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03)
linux内核 linux-4.15(NXP官方提供)
点击查看本文参考资料
参考资料 相关说明
------
点击查看相关文件下载
--- ---

一、FTP服务器简介

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

二、ubuntu下搭建FTP服务器

1. 确认是否已经安装

1
vsftpd -v

若是未安装,则会有下面的打印信息:

若是已安装,则是这样的:

image-20240919212658400

2. 安装FTP服务

1
2
sudo apt-get update
sudo apt-get install vsftpd

3. 修改配置文件

vsftpd 安装完成后,使用 vi 命令打开/etc/vsftpd.conf 配置文件,如果没有安装 vim 软件,则需要先通过如下命令安装 vim 编辑器:

1
sudo apt-get install vim

然后再执行如下命令打开/etc/vsftpd.conf 配置文件:

1
sudo vim /etc/vsftpd.conf

打开配置文件后,找到如下两行,确保其前面没有“#”(“#”号表示注释,我们要取消注释):

image-20240919212820653

4. 重启FTP服务

1
sudo /etc/init.d/vsftpd restart

会有如下提示:

image-20240919212919677

5. 查看FTP服务是否开启

1
ps -aux | grep vsftpd | grep -v grep

若有以下信息,则说明ubuntu中FTP服务已经正常开启了。

image-20240919213020968

三、windows下安装FTP客户端

1. 简介

我们需要在 Windows 系统下安装一个 FTP 客户端软件, 这里选择 FileZilla 作为 FTP 客户端软件,这是一个免费的 FTP 客户端软件。官网在这里:客户端 - FileZilla中文网

image-20240919213148205

2. 安装 FileZilla

这里没什么好说的,直接一路默认安装就可以了。

3. FileZilla 的使用 

3.1 软件界面

我们双击图标,打开这个软件:

image-20240919213639206

大概是这样的。

3.2 连接到服务器

查看ubuntu的IP地址,使用windows可以与ubuntu ping通的IP就可以:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sumu@sumu-virtual-machine:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xxx.xxx.xxx.xxx netmask 255.255.255.0 broadcast xxx.xxx.xxx.xxx
inet6 fe80::997c:780d:d447:97d2 prefixlen 64 scopeid 0x20<link>
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (以太网)
RX packets 336 bytes 253062 (253.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 178 bytes 16948 (16.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
RX packets 141 bytes 12399 (12.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 141 bytes 12399 (12.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

我这里直接使用192.168.187.128这个地址。然后我们点击左上角的文件→站点管理器:

image-20240919213718323

然后创建新站点:

image-20240919215013532

站点命名→选择协议→输入主机IP(ubuntu的IP)→加密方式→登录类型→用户名→密码→连接即可。

image-20240919215036244

然后会提示保存密码:

image-20240919215102326

最后会提示不安全,我们直接确定即可:

image-20240919215126172

连接成功如下图所示:

image-20240919215203988

可以看到连接成功后左边是 Windows 系统下的文件、目录(FTP 客户端),右边是 Ubuntu 系统下的文件、目录(FTP 服务器,默认会进入到用户家目录,如“/home/tgg”)。

3.3 乱码问题解决

从上图可知, Ubuntu 系统下的文件列表名称全是乱码, 这是因为编码的问题导致的,我们需要修改编码方式, 再次打开“站点管理器”,按照图所示步骤设置编码方式:

image-20240919215308556

点击连接后有如下界面:

image-20240919215441356

如上图选择即可,然后点击确定。再次连接之后,会发现文件名已经显示正常了 :

image-20240919215514708

客户端成功连接上服务器成功后, 便可以进行文件传输了。 传输的方式也非常简单,选择要传输的文件,直接使用鼠标左键将其拖动到 Windows 目录区域或者 Ubuntu 系统目录区域即可! 比如,将 Windows 系统下的 test.txt 文件拷贝到 Ubuntu 系统,首先在左侧 Windows 目录区域找到该文件 test.txt,然后使用鼠标左键将其拖动至右边 Ubuntu 目录区域释放即可;同理,Ubuntu 系统下的文件拷贝到 Windows 系统也是如此。

4. 界面布局

我自己是不太喜欢这个布局的,所以可以在编辑→设置中进行配置:

QQ_1726754246739

所以我最后的布局是这样的:

image-20240919215825813