使用tftp、nfs、scp传输文件到开发板上的前提是开发板、ubuntu虚拟机的网络能够ping通。配置网络以及tftp、nfs等部分参考正点原子团队的开发手册和韦东山老师的开发手册。
一、tftp传输文件
将需要传输的文件放入/home/ly/linux/tftp目录下,在开发板中使用命令:
tftp -g -r 192.168.1.5
其中192.168.1.5表示我的ubuntu中的网络地址,可以通过ifconfig命令查看
二、nfs传输文件
2.1 挂载
mount -t nfs -o nolock,nfsvers=3 192.168.1.5:/home/ly/linux/nfs nfs/
2.2 查看挂载
df
2.3 取消挂载
umount nfs
三、scp传输文件
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
点击查看代码
scp【本地或远程文件的路径】【服务器用户名】@【服务器地址】:【远程或本地文件的路径】
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
3.1 具体用法
-
从本地将文件传输到服务器 scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp ./freetype_show_font [email protected]:/home/root/scp
-
从本地将文件夹传输到服务器 scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp -r ./tftp/ [email protected]:/home/root/scp
-
将服务器上的文件传输到本地 scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp [email protected]:/home/root/scp/tftp/freetype_show_font ~/linux
-
将服务器上的文件夹传输到本地 scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp -r [email protected]:/home/root/scp ~/linux