树莓派体验4 - 文件传输方式 - 网络
在实际开发工作中,经常需要PC和树莓派开发板之间互传文件。通过网络传输是最为便利的方式之一。
SFTP
SFTP,Secure File Transfer Protocol的缩写,安全文件传输协议,为传输文件提供一种安全的加密方法。PC和树莓派之间采用该协议进行文件传输,其中树莓派作为服务器,PC为客户端。
开启SFTP服务
SFTP服务本身并没有单独的守护进程,它是SSH的一个安全文件传输子系统。开启SSH服务和SFTP服务都是通过/usr/sbin/sshd这个后台程序监听22端口实现,而SFTP服务作为一个子服务,是通过/etc/ssh/sshd_config文件中的Subsystem配置实现的。
打开配置文件sshd_config:
cat /etc/ssh/sshd_config
上图红色标记的配置信息通过启动/usr/lib/openssh/sftp-server进程来实现SFTP服务。
查看sftp-server进程状态:
ps -ef | grep sftp-server
查看系统22端口状态:
netstat -ntpl|grep 22
lsof -i:22
目前确认sftp-server进程处于运行状态,且22端口被正常监听,说明SFTP服务已经提供。可以通过PC的客户端通过SFTP协议和树莓派直接进行文件传输。
SFTP客户端登陆
PC的SFTP客户端种类繁多,我使用的是WinSCP工具。
输入树莓派板子IP地址、端口号22、文件协议选择SFTP、通过用户名pi、密码raspberry登陆。
登陆成功后,通过拖拽文件完成PC和树莓派之间的文件传输。
TFTP
TFTP,Trivial File Transfer Protocol的缩写,简单文件传输协议。它基于UDP协议实现,用来进行简单文件传输,提供不复杂、开销不大的文件传输服务。我们把PC作为server,树莓派作为客户端。
tftpd服务端工具
我使用的是tftpd64,安装后点击运行,指定PC的IP,选择tftp文件存放的目录。
tftp命令
在树莓派中使用tftp命令和PC端进行文件传输。
tftp server-ip get/put file.txt
分别通过put、get命令实现给PC上传、从PC下载文件。