前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux与Windows间文件互传之TFTP方式

Linux与Windows间文件互传之TFTP方式

作者头像
xxpcb
发布2020-10-09 10:54:19
3.9K0
发布2020-10-09 10:54:19
举报

1

Linux端安装tftp服务

  • 安装xinetd,tftp 和tftpd sudo apt-get install xinetd sudo apt-get install tftp tftpd
  • 配置/etc/xinetd.d/tftp文件 新建一个文件: vim /etc/xinetd.d/tftp 写入如下内容 service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/tftpboot/ disable = no per_source = 11 cps = 100 2 flags = IPv4 }
  • tftp文件中的var/tftpboot是服务器的目录(这一步好像作用不大) 新建tftp服务器目录,并修改权限为777 mkdir /var/tftpboot chmod 777 /var/tftpboot
  • 重启xinetd服务 sudo /etc/init.d/xinetd restart
  • 查看tftp是否已开启 netstat -a | grep tftp 应该显示类似如下信息: udp 0 0 0.0.0.0:tftp 0.0.0.0:*

2

windows端安装tftp服务

这里使用一个tftpd的小软件,免安装版,启动后,在其所在的文件夹可以作为一个tftp服务器。

如下图,打开tftp32.exe后,可以自动识别出windows系统电脑的局域网IP地址,如果不正确,可以在下拉窗口中选择正确的IP。

这个文件夹下的hello.txt作为一个测试文件,在linux系统中通过tftp服务来获取windows电脑上的这个文件。

3

使用方法

3.1 查看是否在同一网段

在Linux端,比如在windows电脑上通过串口登录到一块Linux开发板,先使用ifconfig命令查看linux的IP与windows的IP是否在一个网段,比如我的:

代码语言:javascript
复制
debian@npi:~$ ifconfig
eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
      ether 12:27:97:c7:88:a6 txqueuelen 1000 (Ethernet)
      RX packets 0 bytes 0 (0.0 B)
      RX errors 0 dropped 0 overruns 0 frame 0
      TX packets 0 bytes 0 (0.0 B)
      TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth2: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC> mtu 1500
      ether 62:7d:37:ad:06:39 txqueuelen 1000 (Ethernet)
      RX packets 0 bytes 0 (0.0 B)
      RX errors 0 dropped 0 overruns 0 frame 0
      TX packets 0 bytes 0 (0.0 B)
      TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
      inet 127.0.0.1 netmask 255.0.0.0
      inet6 ::1 prefixlen 128 scopeid 0x10<host>
      loop txqueuelen 1000 (Local Loopback)
      RX packets 80 bytes 6480 (6.3 KiB)
      RX errors 0 dropped 0 overruns 0 frame 0
      TX packets 80 bytes 6480 (6.3 KiB)
      TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
      inet 192.168.5.100 netmask 255.255.255.0 broadcast 192.168.5.255
      inet6 fe80::c284:7dff:fe6b:d4b3 prefixlen 64 scopeid 0x20<link>
      ether c0:84:7d:6b:d4:b3 txqueuelen 1000 (Ethernet)
      RX packets 48 bytes 4110 (4.0 KiB)
      RX errors 0 dropped 0 overruns 0 frame 0
      TX packets 42 bytes 4066 (3.9 KiB)
      TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0       

我用的是wifi联网,就是最后一个wlan0,IP地址192.168.5.100,与windows的192.168.5.102属于同一网段。

前两个eth1和eth2是开发板上的两个网口,目前没用网线。

lo是回环(loop)地址,其它情况可能会有br网桥(brige)地址。

所以,如果接的网线就看eth开头的地址,如果接的无线就看wlan开头的地址

如果linux的IP地址未分配,也就是没有显示出正常的数字,可以使用如下命令配置其IP地址:

代码语言:javascript
复制
sudo ifconfig wlan0 192.168.5.101

这里修改的是我无线连接方式的IP为192.168.5.101,如果是网线连接,需要将wlan0替换为eth之类的

3.2 tftp方式传输文件

在Linux端使用tftp命令访问windows的tftp服务器,就是“tftp+windows的IP地址”,前提是windows电脑上的tftpd小软件要打开。

然后使用“get+文件名”来获取Windows电脑上的文件,也可以使用“put+文件名”来发送文件到Windows电脑。

操作示意如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农爱学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1 查看是否在同一网段
  • 3.2 tftp方式传输文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档