最近开发用到虚拟机,需要将Ubuntu上的数据信息拷贝到Linux终端设备上,本章讲解怎么和Windows,Ubuntu虚拟机和Linux设备进行连接,形成一个局域的网络,使用SSH实现三个设备数据的跨设备交互。
一、配置开发板的IP地址:
1. 删除旧 IP
sudo ifconfig eth0 down
sudo ifconfig eth0 192.168.5.8 netmask 255.255.255.0 up
2. 设置网关(假设网关是 192.168.24.1)
sudo route add default gw 192.168.5.1
3. 设置 DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
首先是形成一个局域网,使用网线连接开发板和Windows电脑,开发板使用串口连接后,使用上面的命令对eth0进行网口的配置:
可以看到我的端口使用的是COM12
然后打开MobaXterm软件,点击图标 sessions 即可弹出 session setting,选择Serial。
我们选择正确的串口,设置波特率为115200,具体设置如下图所示:
二、配置Windows电脑的网口IP
1、找到“更改适配器选项”并打开
插上网口之后会以太网3会显示正在识别,双击这个正在识别的网口:Intel(R) Ethernet Connection (16) I219-V,进行如下的配置,和开发板的要处于一个网段,192.168.5.xxx。
2、完成之后在进行ping测试:ping 192.168.5.8
上面代表开发板和Windows电脑之间的连接是正常的,能够ping 通。
3、使用mobaxterm的SSH功能连接开发版
打开mobaxterm进行如下的配置连接:
连接成功之后会让你输入密码,这里的密码是root:看到图标即代表连接成功。
三、Ubuntu虚拟机进行配置
1、对虚拟机进行参数的配置,
这里首要看网卡的配置情况,首先查看虚拟机的网口是不是配置了桥接网口:
如果没有配置,进行设置即可,添加网口,这里要配置为同一个网卡,不然会连接不上:Intel(R) Ethernet Connection (16) I219-V,设置为桥接网卡。
配置完成之后启动Ubuntu即可。
在进行网卡的IP地址配置,如下图,也要把ubunut的网段和电脑以及开发板的网段设置一致:之后进行Ubuntu的重启。
2、重启之后和Windows之间进行ping测试:
和开发板之间进行Ping测试:
全部Ping通之后代表三者之间是连接正常的,相互之间可以正常的连接。
四,使用putty连接开发板
1、下载Ubuntu的putty
首先应确保已启用 universe 仓库。
sudo add-apt-repository universe
启用 universe 仓库后,应使用以下命令更新 Ubuntu:
sudo apt update
安装putty
sudo apt install putty
安装后,你可以在菜单中找到它来启动 Putty。
正如你在下面的截图中看到的,Putty 的 Linux 版本看起来与 Windows 版本相同。
2、打开putty
这里面默认的就是ssh,在IP地址处输入开发板的IP:192.168.5.8。端口号默认是22。然后点击open,这里就能之间连接上开发板:
五、传输数据
我要将虚拟机Ubuntu上的资料上传到开发板,之前开发板插入了SD卡,这里要进行挂载。
使用挂载命令,这里之间挂载在/mnt下:
先确认是否已经挂载:
mount | grep mmcblk1p1
如果没挂载:
sudo mkdir -p /mnt/sdcard
sudo mount /dev/mmcblk1p1 /mnt/sdcard
挂载完毕之后可以cd到/mnt/sdcard下面看看是否能进去。
使用 pscp(推荐)
使用pscp来讲数据拷贝到开发板上:这里之间打开一个Ubuntu的终端,输入下面的命令,把您要拷贝到文件拷贝到开发板上
pscp your_file root@192.168.xxx.xxx:/mnt/sdcard/
如果要拷贝文件夹:加一个-r
pscp -r your_folder root@192.168.xxx.xxx:/mnt/sdcard/
推荐更好用的方法(强烈建议)
说实话,pscp用起来比较原始,我更推荐:
用 WinSCP
优点:
- 直接拖文件夹(自动递归)
- 可视化目录
- 支持断点续传
- 不容易出错
使用方式:
- 登录服务器
进入目录:
/mnt/sdcard
- 直接拖整个文件夹进去
进阶(工程级玩法)
如果你以后频繁传文件夹,可以用:
rsync(更专业)
rsync -avz your_folder root@192.168.xxx.xxx:/mnt/sdcard/
优点:
- 只传变化部分(快)
- 可断点续传
- 工程项目必备
如果失败:
chmod -R 777 /mnt/sdcard
六、同步 + 卸载(非常重要)
sync
sudo umount /mnt/sdcard
否则可能:
- 文件没写完
- 数据损坏