我的ubuntu系统是安装在 VMware 虚拟机中的,两者之间经常要互传文件,下面介绍4种常用的互传文件方法。
1. 共享文件夹方式互传
在虚拟机中需要开启共享文件夹的功能。首先虚拟机中的ubuntu要求是已经开机了的状态,然后进行设置:虚拟机 -> 设置 -> 选项 -> 共享文件夹,然后选择总是启动,然后再添加一个和主机windows共享的路径。
如下图:
设置完之后,我们点击确定再次回到ubuntu。然后一般来说共享文件夹在ubuntu中的路径是:/mnt/hgfs/winshare
其中,winshare 这个目录就是我在windows主机创建的共享目录,你自己创建的时候可能命名不一样。
共享文件夹的缺点就是,ubuntu中的一些特有的文件,比如符号链接文件,在windows的共享文件夹下会报错的。但如果使用 samba 共享文件夹就不会。
2. 使用 FileZilla 工具互传
FileZilla是一款免费的工具,是基于 FTP 协议进行文件互传的,在传输过程中我们的ubuntu是作为服务器, FileZilla 工具则是作为客户端。
2.1 ubuntu安装 FTP服务
-
在ubuntu终端下输入如下命令:
sudo apt-get install vsftpd
-
安装完之后检查 /etc/vsftpd.conf 配置文件
输入如下命令打开配置文件:
sudo vi /etc/vsftpd.conf
然后检查下图 28 和 31 行的内容是否有被注释掉,如果前面有 “#” 号注释起来的话,就去掉即可。
-
修改完之后,重启FTP服务,如下命令:
sudo /etc/init.d/vsftpd restart
2.2 windows安装和配置FileZilla
-
FileZilla 客户端下载和安装
FileZilla工具可以去官网下载即可,https://www.filezilla.cn/download
我们要安装的是客户端,选择对应版本的客户端下载,然后一路 next 安装即可。 -
FileZilla 软件配置和连接ubuntu
打开 FileZilla 软件,然后选择:文件 -> 站点管理器 -> 点击新增站点,然后配置连接参数,如下图:
点击连接之后,就可以看到ubuntu下的文件了,如下图:
我们要把windows的文件拷贝到ubuntu中,直接在左侧把windows下的目录文件拖到右侧ubuntu中指定的目录即可。 -
解决 FileZilla 显示 ubuntu 中的文件时间多了8小时问题
连接到ubuntu之后,我发现 FileZilla 显示 ubuntu 的文件时间是多了8小时的,解决办法就是我们设置服务器的时间减去8小时即可,如下图:
3. Mobaxterm 通过ssh远程登录ubuntu互传
如何使用 Mobaxterm 终端远程登录ubuntu,请参考我写的这篇文章 《嵌入式Linux开发环境搭建》,这里不重复介绍了。
我们远程登录后,下面就可以上传和下载文件了,如下图:
不过此种方式互传文件没有使用 FileZilla 工具效率高。
4. samba 方式互传
samba是通过网络来进行windows和ubuntu互传文件的,所以我们必须保证windows和ubuntu直接可以互相ping通。
4.1 ubuntu安装和配置samba
-
安装samba服务
sudo apt-get install samba
-
确定是否确实安装了
samba --version
输入这个命令,确实安装的话,会打印出samba的版本
-
创建一个samba服务的共享目录,并配置该目录为最高权限
sudo mkdir /home/book/samba_share sudo chmod 777 /home/book/samba_share
-
添加samba用户
sudo smbpasswd -a book
参数 -a 就是添加一个用户,book就是我ubuntu的用户(注意一定要是ubuntu存在的用户)。这一步会要求设置输入两次密码
-
修改samba服务的配置文件
我们先把原来的文件复制一份备份,输入如下命令:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
然后打开 /etc/samba/smb.conf 该配置文件:
sudo vi /etc/samba/smb.conf
在配置文件的最后面加入下面的内容:
[share] comment = Share folder # 共享目录,这个写的是你刚刚创建的samba共享目录 path = /home/book/samba_share create mask = 0700 directory mask = 0700 # 用于登录的账户 valid users = book force user = book force group = book # 是否公开分享 public = yes # 是否允许来宾用户访问 guest ok = yes # 是否只读 read only = no # 是否可被浏览 browseable = yes available = yes writable = yes
修改完之后保存退出即可。
-
重启samba服务
sudo service smbd restart
4.2 windows中访问ubuntu的samba共享目录
配置完ubuntu的samba服务后,我们直接在windows的网络中输入ubuntu的IP即可访问samba的共享目录,可以在这个目录下进行互传文件。如下图:
为了后面可以像访问windows中的C盘、D盘一样,我们可以映射samba共享目录到windows中,点击右键,然后选择映射网络驱动器,如下图:
点击确定即可,然后可以在此电脑的根目录下看到samba的共享目录了,如下:
以上就是4种windows主机和ubuntu互传文件的方法了,推荐使用 FileZilla 和 samba 服务器这两种方法。