linux常用命令(50):tftp 命令
2015-09-22 15:43
686 查看
tftp命令
tftp命令用于本机和tftp服务器之间使用TFTP协议传输文件。TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
语法
tftp(选项)(参数)
选项
-c:指定与tftp服务器连接成功后,立即要执行的指令;-m:指定文件传输模式。可以是ASCII或者Binary;
-v:显示指令详细执行过程;
-V:显示指令版本信息。
参数
主机:指定tftp要联机的tftp服务器的ip地址或主机名。
常用范例
在Ubuntu12.0.4下搭建TFTP服务器
一、安装相关安装包tftpd(服务端),tftp(客户端)
sudo apt-get install tftp-hpa tftpd-hpa
安装xinetd
sudo apt-get install xinetd
二、配置tftp服务器
1、修改 /etc/default/tftpd-hpa
$sudo vim /etc/default/tftpd-hpa
将内容修改成:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" #tftp服务器的工作目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
2、修改/etc/xinetd.d/tftp
如果/etc/xinetd.d/目录下没有tftp文件,就创建一个。内容为:
service tftp { socket_type = dgram wait = yes disable = no user = root protocol = udp server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps =100 2 flags =IPv4 }
三、创建tftp服务器目录,并更改权限
创建目录
$sudo mkdir /tftpboot
更改权限
$sudu chmod 777 /tftpboot
四、重新启动服务
$sudo service tftpd-hpa restart $sudo /etc/init.d/xinetd reload $sudo /etc/init.d/xinetd restart
五、测试
1、在服务器目录新建一个文件download.bin
$cd /tftpboot $vim test.bin
执行完以上两条指令后,然后对vi编辑器保存,退出。
2、进入一个非/tftpboot的文件夹下,并创建一个文件upload.bin
$sudo mkdir /share $cd /share $vim upload.bin
3、进入tftp命令模式
$tftp 192.168.158.130 (本机的ip地址) 或者 $tftp localhost
4、测试从tftp服务器下载文件
$tftp> get download.bin //从tftp服务器下载download.bin $tftp> quit //退出
查看是否下载成功(实际上执行完第一条命令没有提示信息,就说明已经成功了)
$ls
5、测试从tftp服务器上传文件
$tftp> put upload.bin //从tftp服务器上传upload.bin $tftp> quit //退出
查看是否上传成功(实际上执行完第一条命令没有提示信息,就说明已经成功了)
$cd /tftpboot $ls
后记
1.众多资料都说,实现tftp文件传输需要将linux系统的防火墙关闭,关闭命令:
# ufw disable
或者--启动tftp服务器并关闭防火墙
/etc/init.d/iptables stop
//关闭防火墙 sudo /sbin/service xinetd start
或 service xinetd restart
/etc/init.d/xinetd start
2.查看tftp服务是否开启
netstat -a | grep tftp
显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了。
3.如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件
需要作如下修改 修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让selinux配置文件生效。
相关文章推荐
- Linux c 源码(nMAsciiHexToBinary:将16进制字符串格式转换为ASCII码形式)
- linux驱动之PCI总线
- 如何选择 Linux 上的跟踪器
- 49.linux常用命令(49):ftp 命令
- Centos 安装mysql5.6后连接报错:ERROR 1045 (28000)
- 【Linux】ifconfig不显示eth0
- Linux服务器配置for java web
- Linux系统下强制踢掉登录用户
- 文件编程之Linux下系统调用
- linux常用命令(48):scp命令
- Linux rpm 命令参数使用详解[介绍和应用]
- CentOS安装gdb 7.6.1教程
- linux 下如何给一个普通用户有在指定目录下有创建文件的权限
- linux常用命令(47):rcp 命令
- 完全用GNU/Linux工作
- Linux常用(持续更新)
- Inside the Linux boot process
- linux下arm汇编的常用指令解析
- linux下的arm汇编程序
- linux下samba初步了解