[Linux学习笔记]FileZilla在Windows与Ubuntu之间进行文件传输

1,017 阅读5分钟

前言:

我们在实际开发中很多时候需要在Windows与Ubuntu之间进行文件传输,比如在Ubuntu和Windows之间进行文件互传,或者是在Windows中进行代码编写,之后发送到Ubuntu下进行编译,此时我们需要用到FTP协议,在ubuntu18.04中的具体设置方法如下:

一、Windows下安装FileZilla Client

FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

1、打开FileZilla官网,找到客户端下载链接

QQ截图20230109172916.png 此处只需要下载并安装FileZilla Client即可。

2、Windows下打开FileZilla Client软件,左上角选择“文件->站点管理器”

屏幕截图 2023-01-09 172634.png

3、在Ubuntu命令行终端中输入以下指令查看本机ip地址

先通过以下指令安装net-tools工具,如果已经安装过则可以默认不再安装。

$ sudo apt-get install net-tools

输入ifocnfig查询本机ip

$ ifconfig

QQ截图20230109173442.png 图中红色方框中内容即为稍后Filezilla客户端中要输入的主机地址

4、新建站点,并配置好相关信息。

屏幕截图 2023-01-09 172634.png 注意,此处的用户和密码为必填项,用户名即为ubuntu中的登陆用户,密码即为登陆密码。

5、点击连接,发现主界面左上方的控制台长时间没有响应,说明连接失败,这是因为Ubuntu下没有安装相应的FTP服务,接下来需要我们在Ubuntu下手动安装FTP服务并配置相关文件。

QQ截图20230109180220.png

二、Ubuntu下安装和配置FTP服务

1、首先Ctrl+Alt+T打开终端,并输入ifconfig指令进行安装FTP服务

$sudo apt-get install vsftpd

2、安装完成后,我们再通过vim编辑器来修改配置信息

$sudo vi /etc/vsftpd.conf 在vim编辑器中输入:/write_enable来快速定位到write_enable选项

QQ截图20230109171755.png

将write_enable=YES选项处的默认注释解开,从而允许写入(否则Windows将无法上传文件到Ubuntu)。

3、修改完vsftpd.conf之后输入“:wq!”退出,并通过以下指令重启FTP服务:

$ sudo /etc/init.d/vsftpd restart

QQ截图20230109175015.png

4、回到Filezilla,重新连接至站点。

QQ截图20230109175122.png 左上角控制台连接成功后将打印出图中提示信息,并且右方的远程站点显示了当前在Ubuntu下的目录内容。 之后便可以通过图形界面拖拽的方式来上传和下载相关文件。

三、平时遇到的疑难杂症

1.连接到服务器后目录显示乱码,报错Failed to convert command to 8 bit charset.

image.png 在FTP服务器上,文件名出现乱码的原因往往与以下三个方面有关:

1.字符编码不匹配

FTP服务器上的文件名可能采用一种字符编码方式(如UTF-8),然而用户的操作系统可能使用另一种字符编码方式(如GBK),这就会导致文件名出现乱码。

2.文件名中含有特殊字符

如果FTP服务器上的文件名中包含特殊字符(如汉字、空格、反斜杠等),用户在下载时可能会得到乱码的文件名。

3.服务器端配置不当

FTP服务器的配置也可能导致文件名出现乱码。比如,如果服务器端没有正确设置字符编码,就可能出现文件名乱码的问题。

解决办法:

1.修改FTP服务器的字符编码方式

如果FTP服务器上的文件名采用的编码方式与用户的操作系统不匹配,就会导致文件名出现乱码。为解决这个问题,可以尝试将FTP服务器上的编码方式修改为与用户操作系统相同的编码方式。

例如,在linux系统下,可以使用以下命令将FTP服务器字符编码修改为UTF-8:

vi /etc/vsftpd.conf

找到这行:

#utf8_filesystem=YES

取消注释后保存文件并重启FTP服务器即可。

2.修改文件名中的特殊字符

如果FTP服务器上的文件名中包含特殊字符,可以尝试修改文件名中的这些特殊字符,使其与用户操作系统兼容。可以使用FTP客户端软件来修改文件名。

3.使用UTF-8编码方式传输文件

如果FTP服务器和用户操作系统的字符编码方式不同时,可以尝试使用UTF-8字符编码方式传输文件。这样做可以避免因字符编码不匹配而导致文件名出现乱码的问题。在FTP客户端软件中,一般可以设置传输编码方式为UTF-8,针对FileZilla,打开站点管理器,选中要配置的站点,在字符集页面选择“强制UTF-8”。

image.png

4.设置FTP服务器字符编码

如果FTP服务器的字符编码设置不当,也可能导致文件名出现乱码的问题。一般来说,在FTP服务器的配置文件中,可以设置字符编码选项来指定服务器字符编码方式。

以ProFTPd服务器为例,可以在其配置文件proftpd.conf中添加以下几行来设置字符编码:

DefaultCharset on UTF-8

DefaultEncoding UTF-8

保存文件并重启FTP服务器即可。