Linux tftp命令介绍

tftp,全称为Trivial File Transfer Protocol(简单文件传输协议)。tftp是一个用于文件传输的客户端命令,用于从远程主机传输文件,包括一些非常简洁、通常嵌入的系统。

Linux tftp命令适用的Linux版本

tftp命令适用于所有正在维护的Linux发行版本,如果在某些Linux版本上未预装此工具,可以通过对应的包管理器(yum、apt等)进行安装:

在CentOS中,受骤然终止安装有些差异,以下是安装命令:
对于Ubuntu:

[linux@bashcommandnotfound.cn ~]$ apt-get install -y tftp

对于CentOS7:

[linux@bashcommandnotfound.cn ~]$ yum install -y tftp

对于CentOS8:

[linux@bashcommandnotfound.cn ~]$ dnf install -y tftp

Linux tftp命令的基本语法

tftp命令的基本语法是:

tftp [options] [host]

这里的options可以是多个选项,以空格分隔,作为参数提供相关设置。host是为了目标主机指定的地址,如果未给出,则使用最后一次连接的主机地址。

Linux tftp命令的常用选项或参数说明

以下是tftp命令的常用参数及其说明:

选项说明
-4仅使用IPv4进行连接,即使编译时包含了IPv6的支持
-6仅使用IPv6进行连接,如果在编译时包含了IPv6
-c command执行命令,就如同在tftp提示符下输入一样。这必须在命令行中最后指定
-l默认为literal模式。用于避免在文件名中对’:'字符进行特殊处理
-m mode将默认传输模式设置为mode. 通常与 -c 一起使用
-R port:port将起始端口号强制设置为指定范围内的端口数
-v默认为详细模式
-V将版本号和配置输出到标准输出,然后优雅地退出

在应用中,我们常会用到如下参数:

  • get file: 从指定的源获取一个或一组文件。一个远程文件名可以替代两种形式:如果已经指定了主机,则在远程主机上的纯文件名;或者形式为主机:文件名的字符串,以同时指定主机和文件名。如果使用了后者形式,则最后指定的主机名将成为将来转换的默认主机。
  • put file: 将一个或一组文件放入指定的远程文件或目录。目标可以有两种形式:如果已经指定了主机,则在远程主机上的文件名;或者形式为主机:文件名的字符串,以同时指定主机和文件名。如果使用了后者形式,则指定的主机名将变成未来转换的默认主机。

Linux tftp命令实例详解

接下来我们将通过一些具体的实例来讲解tftp命令。通过这些例子,我们将了解如何在实际中应用这些命令和选项。

实例1:使用tftp从远程服务器下载文件

在这个例子中,我们将使用tftp命令从远程服务器下载文件。假设我们的远程服务器的IP地址为192.168.1.100,并且我们要下载的文件名为example.txt

运行以下命令以连接到远程服务器,并获取文件:

[linux@bashcommandnotfound.cn ~]$ tftp 192.168.1.100
tftp> get example.txt

这个命令将例子example.txt文件从192.168.1.100远程主机上下载下来。

实例2:向远程服务器上传文件

假设我们已经在本地创建了一个文件叫做upload.txt,我们现在希望将它上传到远程服务器上。运行以下命令:

[linux@bashcommandnotfound.cn ~]$ tftp 192.168.1.100
tftp> put upload.txt

这个命令将我们在本地创建的upload.txt文件上传至远程主机192.168.1.100

实例3:使用tftp一次性下载多个文件

在这个例子中,我们将从远程服务器下载多个文件。假设我们的远程服务器的IP地址为192.168.1.100,并且我们要下载的文件名为file1.txt,file2.txtfile3.txt

[linux@bashcommandnotfound.cn ~]$ tftp 192.168.1.100
tftp> get file1.txt file2.txt file3.txt

这个命令将会从192.168.1.100远程主机上下载file1.txt,file2.txtfile3.txt三个文件。

实例4:在一个命令中指定主机名和文件名

在这个例子中,我们将直接在get命令中为下载的文件和主机名指定完整路径,而不是先使用tftp连接到服务器。

[linux@bashcommandnotfound.cn ~]$ tftp
tftp> get 192.168.1.100:example.txt

这将会从192.168.1.100主机下载example.txt文件,无需在命令行启动时指定主机。

实例5:使用命令执行tftp

可以使用选项-c在启动tftp时直接执行命令,而无需手动输入。例如,以下命令将连接到远程主机并获取文件:

[linux@bashcommandnotfound.cn ~]$ tftp -c 'get 192.168.1.100 example.txt'

这个命令在连接到192.168.1.100主机后,立即获取文件example.txt

实例6:使用IPv4进行连接

你可以使用选项-4来指定只使用IPv4进行连接,例如:

[linux@bashcommandnotfound.cn ~]$ tftp -4 192.168.1.100
tftp> get example.txt

这个命令将仅使用IPv4协议从192.168.1.100远程主机上下载example.txt文件。

实例7:修改默认的传输模式

你可以使用选项-m修改默认的传输模式,例如:

[linux@bashcommandnotfound.cn ~]$ tftp -m binary 192.168.1.100
tftp> get example.txt

这个命令将使用二进制模式从192.168.1.100远程主机上下载example.txt文件。

实例8:在命令行中使用详细模式

你可以使用选项-v在命令行中启动详细模式,例如:

[linux@bashcommandnotfound.cn ~]$ tftp -v 192.168.1.100
tftp> get example.txt

这个命令将在详细模式下从192.168.1.100远程主机上下载example.txt文件,详细模式将显示每个传输阶段的详细信息。

实例9:指定起始端口号范围

你可以使用选项-R来强制设置起始端口号范围,例如:

[linux@bashcommandnotfound.cn ~]$ tftp -R 60000:61000 192.168.1.100
tftp> get example.txt

这个命令将从192.168.1.100远程主机的60000-61000端口范围内下载example.txt文件。

Linux tftp命令的注意事项

  • tftp协议不提供认证或安全性,因此远端服务器可能会实现某种访问限制或防火墙设置。
  • 如果尝试使用tftp命令时,看到bash: tftp: command not found的提示,请按照上述的方法进行安装。

Linux tftp相关命令

以下是一些与tftp命令相关的命令,可能会在使用tftp命令时派上用场:

参考链接

【官方文档】(https://www.tutorialspoint.com/unix_commands/tftp.htm)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐