Linux tftp命令详解Linux tftp命令怎么用?
ftp命令用在本机和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 }
说明:修改项,其中<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
看到启动就可以了
4、查看tftp服务是否开启
netstat -a | grep 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”的错误,并不能传输文件,需要作如下修改
修改,将SELINUX设定为disable,使用命令让selinux配置文件生效。
8、Busybox中tftp命令的用法
命令格式为:
tftp … host
如果要下载或上传文件的话是一定要用这些option的。
-g 表示下载文件 (get) -p 表示上传文件 (put) -l 表示本地文件名 (local file) -r 表示远程主机的文件名 (remote file)
例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令
tftp -g -r embedexpert 192.168.1.2
用linux中做pxe安装系统的时候,出现PXE-E32:TFTP OPen timeout怎么回事?
这是对应的tftp server没有起来,需要检查dhcp中对tftp的配置是否正确,网络是否连通,tftpserver是否运行正常。
能不能在sd卡上装linux系统?
可以实现的,你可以通过SD卡启动uboot,不过加载内核的话,可以通过tftp下载内核加载;也可以通过nand里面的内核,如果用SD卡内核是不现实的。当你uboot,kernel都启动之后,从SD卡启动系统应该很简单了。
linuxcp命令无法创建普通文件?
答方法如下
1、应该是没有配置tftp服务器,不存在/tftpboot/这个目录。如果不需要tftp服务器的话,可以忽略,也可以将拷贝内核映像。
2、要在同时拷贝多个文件,我们只需要将多个文件用空格隔开。如下示例:$ cp file_1.txt file_2.txt file_3.txt /home/pungki/office。
3、要拷贝一个目录的话会有点棘手。你需要添加 -r 或者 -R 选项来实现。-r或-R 选项表明递归操作。无论该目录是否为空目录,这个选项都是必要的。如下示例:$ cp -r directory_1 /home/pungki/office。
需要注意的一件事,你需要移除在目录名尾部的斜杠。否则你会收到类似的错误信息cp: omitting directory‘directory_1/’。