跳到主要内容

文件传输

在日常开发中,我们常常需要在本地与开发板之间传输文件。虽然有多种传输方法可供选择,本文将重点介绍几种常用的文件传输方式。

electerm 软件传输

electerm是一款基于 electron 开发的 SSH/SFTP 客户端,同时支持 Linux、MAC、Windows 操作系统,免费开源。

  1. SSH登录到开发板。
  2. 文件传输。

ADB 传输文件

  1. 将开发板通过 USB 接口连接电脑,从 PC 端上传文件或者文件夹到开发板的根目录。

  2. 在 Powrshell 中执行adb push命令,就可以将文件或者文件夹上传到开发板。

    adb push test/ /home/luckfox
    • 效果如下:
  3. 下载开发板/home/luckfox目录下的1.txt到 PC 端。

    adb pull /home/luckfox/1.txt .

SCP 传输文件

scp(Secure Copy Protocol) 是基于 SSH 的安全远程文件拷贝命令,支持在 Linux 服务器之间复制文件或目录。与 cp 命令不同,cp 仅用于本地复制,无法跨服务器。此外,scp 基于 SSH 协议,所有数据在传输过程中都经过加密,确保传输安全。

scp 命令适合快速、简单地传输一个或几个文件,尤其在资源有限的环境中。而对于复杂的文件传输或完整备份,建议使用 rsync,它仅传输源和目标之间的差异部分,节省带宽和时间,特别适合大文件和频繁更新的文件。

  1. 本地文件传输到开发板

    scp  luckfox.txt luckfox@192.168.10.95:/home/luckfox
  2. 本地目录传输到开发板

    scp -r luckfox luckfox@192.168.10.95:/home/luckfox
  3. 开发板文件传输到本地

    scp luckfox@192.168.10.95:/home/luckfox/luckfox.txt .
  4. 开发板目录传输到本地

    scp -r luckfox@192.168.10.95:/home/luckfox/luckfox .

Samba 传输文件

我们经常在使用 Omni3576 时需要在 Windows 和 Omni3576 之间进行文件传输。我们可以通过使用 Samba 服务来实现文件共享。在 Windows 的网络邻居中,可以轻松访问 Omni3576 的文件系统,非常便捷。

  1. 首先更新源,命令如下:

    sudo apt-get update
  2. 运行如下命令安装 samba:

    sudo apt install samba samba-common-bin -y
  3. .安装完成后,修改配置文件 /etc/samba/smb.conf:

    sudo vim /etc/samba/smb.conf
    将 homes 下的 read only = yes 改成 read only = no
  4. 重启 samba 服务:

    sudo /etc/init.d/samba-ad-dc restart
  5. 添加默认用户 linaro 到 samba, 设置密码和确认密码即可:

    sudo smbpasswd -a luckfox
  6. 访问 Omni3576,在 Windows 地址栏输入(根据自己实际 IP 地址填写):

    \\192.168.10.95\luckfox
  7. 输入名称 luckfox 和前面设置的密码,就可以进入到 Omni3576 的目录了。