tftp命令详解,linux tftp命令参数选项、基本用法、高级应用, 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地址或主机名。

实例

1、安装tftp服务器

需要安装xinetd、tftp和tftp-server 3个软件

如果能上网,通过yum安装:

yum install xinetd
yum install tftp
yum install tftp-server

如果不能上网,可以直接安装提供的rpm包:

rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
rpm -ivh tftp-0.48-3.fc9.i386.rpm
rpm -ivh tftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服务器

修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

service tftp
{
       socket_type           =dgram
       protocol              =udp
       wait                  =yes
       user                  =root
       server                =/usr/sbin/in.tftpd
       server_args           =-s  /home/mike/tftpboot -c
       disable               =no
       per_source            =11
       cps                   =100 2
       flags                 =IPv4
}

说明:修改项server_args= -s <path> -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。

3、启动tftp服务器并关闭防火墙

/etc/init.d/iptables stop        //关闭防火墙
sudo /sbin/service xinetd start
或
service xinetd restart
/etc/init.d/xinetd start

看到启动[OK]就可以了

4、查看tftp服务是否开启

netstat -a | grep tftp

显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了。

5、tftp使用

复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。

tftp 192.168.1.2
tftp>get <download file> 

tftp>put <upload file>
tftp>q

6、tftp命令用法如下

tftp your-ip-address

进入TFTP操作:

connect:连接到远程tftp服务器 mode:文件传输模式 put:上传文件 get:下载文件 quit:退出 verbose:显示详细的处理信息 tarce:显示包路径 status:显示当前状态信息 binary:二进制传输模式 ascii:ascii 传送模式 rexmt:设置包传输的超时时间 timeout:设置重传的超时时间 help:帮助信息 ? :帮助信息

7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改

修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让selinux配置文件生效。

8、Busybox中tftp命令的用法

命令格式为:

tftp [option] ... host [port]

如果要下载或上传文件的话是一定要用这些option的。

-g 表示下载文件 (get)
-p 表示上传文件 (put)
-l 表示本地文件名 (local file)
-r 表示远程主机的文件名 (remote file)

例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令

tftp -g -r embedexpert 192.168.1.2

实例基本用法

连接远程服务器"218.28.188.288",然后使用put 命令下载其中根目录下的文件"README",可使用命令如下:

tftp 218.28.188.288 #连接远程服务器 

连接服务器之后可进行相应的操作,具体如下:

$ tftp 218.28.188.228                      #连接远程服务器  
tftp> ?                                    #使用?,参考帮助  
Commands may be abbreviated. Commands are: #帮助命令列表  
connect connect to remote tftp  
mode set file transfer mode  
put send file  
get receive file  
quit exit tftp  
verbose toggle verbose mode  
trace toggle packet tracing  
status show current status  
binary set mode to octet  
ascii set mode to netascii  
rexmt set per-packet retransmission timeout  
timeout set total retransmission timeout  
? print help information  
tftp>get README                             #远程下载README文件  
getting from 218.28.188.288 to /home/cmd  
Recived 168236 bytes in 1.5 seconds[112157 bit/s]  
tftp>quit                                   #离开tftp 

相关内容

    暂无相关文章