Ubuntu和Windows文件互传

Ubuntu和Windows文件互传

Ubuntu和Windows文件互传

在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行文件传输,比如在 Windwos 下进行代码编写,然后将编写好的代码拿到 Ubuntu 下进行编译。Windows 和 Ubuntu 下的文件互传我们需要使用 FTP 服务,设置方法如下:

正文

开启Ubuntu(Linux环境)下的FTP服务

打开WSL的终端窗口,然后执行如下命令来安装 FTP 服务:

sudo apt-get install vsftpd

等待软件自动安装,安装完成以后使用 VI 命令打开/etc/vsftpd.conf,命令如下:

sudo vi /etc/vsftpd.conf

打开 vsftpd.conf 文件以后找到如下两行:

local_enable=YES
write_enable=YES

确保上面两行前面没有“#”,有的话就取消掉,完成以后如下所示:
Ubuntu和Windows文件互传
同时我们在WSL中也进行相同操作
Ubuntu和Windows文件互传
修改完 vsftpd.conf 以后保存退出,使用如下命令重启 FTP 服务:

sudo /etc/init.d/vsftpd restart

Ubuntu中就不截图了,下面是WSL中的操作
Ubuntu和Windows文件互传

Windows下FTP客户端安装

Windows 下 FTP 客户端我们使用 FileZilla,这是个免费的 FTP 客户端软件,可以在 FileZilla官网下载,下载地址如下:https://www.filezilla.cn/download,下载界面如图
Ubuntu和Windows文件互传
下载安装后打开 FileZilla 软件,界面如图
Ubuntu和Windows文件互传

FileZilla软件设置

Ubuntu 作为 FTP 服务器,FileZilla 作为 FTP 客户端,客户端肯定要连接到服务器上,打开站点管理器,点击:文件->站点管理器,打开以后如图
Ubuntu和Windows文件互传
点击图中的“新站点(N)”按钮来创建站点,新建站点以后就会在“我的站点”下出现新建的这个站点,站点的名称可以自行修改,比如我将新的站点命名为“Ubuntu”如图
Ubuntu和Windows文件互传
因为操作比较简单,后面就不自己截图了。选中新创建的“Ubuntu”站点,然后对站点的“常规”进行设置,设置如图
Ubuntu和Windows文件互传
连接成功以后如图
Ubuntu和Windows文件互传
连接成功以后如上图所示,其中左边就是 Windows 文件目录,右边是 Ubuntu 文件目录,默认进入用户根目录下。但是注意观察在上图中Ubuntu 文件目录下的中文目录都是乱码的,这是因为编码方式没有选对,先断开连接,点击:服务器(S)->断开连接,然后打开站点管理器,选中要设置的站点“Ubuntu”,选择“字符集”,设置如图
Ubuntu和Windows文件互传
按照上图设置好字符集以后重新连接到 FTP 服务器上,重新链接到 FTP 服务器以后Ubuntu下的文件目录中文显示就正常了,如图
Ubuntu和Windows文件互传

FileZilla/WinSCP软件尝试连接WSL

Ubuntu和Windows文件互传
按照图中设置好以后,点击“连接”按钮,第一次连接可能会弹出提示是否保存密码的对话框,点击确定即可。点击连接后报错:无法连接服务器,ftp和sftp都不行
Ubuntu和Windows文件互传
WSL安装开启SSH服务
Ubuntu和Windows文件互传
ftp和sftp还是不行
Ubuntu和Windows文件互传
一度怀疑WSL的IP有问题,按照此篇:WSL2设置固定ip
修改IP还是不行
Ubuntu和Windows文件互传
最后放弃了,具体原因未知,转换为下面的思路。

wsl与win10文件互访

wsl访问win10
这个比较简单,wsl已经默认将所有分区挂载在/mnt下,例如

/mnt/c/Users/xxx
/mnt/d/data

可以看到Windows下的C盘文件
Ubuntu和Windows文件互传
win10访问wsl
隐藏的比较深,路径中的随机数可能因人而异,例如Linux下的/对应路径

C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

其实这个类似的路径在这篇中提到过:WSL中的远程开发
注意
由于Windows和Linux的文件系统差异(如不支持软链接),不要在win10下手动修改wsl的文件,可能引发未知错误。

上一篇:开源项目成熟度分析工具-利用github api获取代码库的信息


下一篇:Win10上轻松安装docker,更改镜像安装目录