如何修复 “ifconfig:找不到命令” Linux 中的错误

ifconfig 是一个方便的网络实用程序,它可以获取与您机器的网络接口相关的重要数据。 它曾经预装在所有 Linux 发行版中,直到由于缺乏维护而被开发人员一致宣布弃用。

这就是从终端调用 ifconfig 命令返回“ifconfig: command not found”错误的原因。 如果您仍想在 Linux 系统上使用 ifconfig,则必须手动安装它。

在 Linux 中安装 net-tools 包

如果您尝试安装 ifconfig 实用程序但失败,那是因为无法单独安装 ifconfig。 它包含在 网络工具 包裹。 为了能够使用 ifconfig 命令,您必须先安装 net-tools 软件包。

要在 Linux 上安装该软件包,请启动终端并运行与您当前正在运行的 Linux 发行版相对应的命令:

在 Debian/Ubuntu 衍生产品上,运行:

sudo apt install net-tools

在基于 Arch 的系统上,运行:

sudo pacman -S net-tools

安装 net-tools 包 Fedora、CentOS 和 RHEL,发出以下命令:

sudo dnf install net-tools

这应该会在您的 Linux 系统上安装 net-tools 软件包,然后您将能够运行 ifconfig 命令而不会出现任何错误。

安装 net-tools 后如何解决问题

安装 net-tools 应该可以解决此问题,但在某些情况下,即使您的系统上安装了 net-tools 软件包,“ifconfig: command not found”错误可能仍然存在。

在这种情况下,您必须手动更新系统 PATH 变量并将 ifconfig 二进制文件添加到其中。

首先验证 ifconfig 二进制文件是否存在于系统二进制文件目录中。 您可以通过手动导航到 /sbin 使用 cd 命令查找目录并查找 ifconfig 二进制文件或使用此单行程序自动执行该过程:

[[ -f /sbin/ifconfig ]] && echo "ifconfig exists"

该命令的输出应该是“ifconfig exists”。 如果它返回错误或不打印所述短语,则需要重新安装 net-tools 包。 获得所需输出后,使用以下命令检查 PATH 变量的内容:

echo $PATH

遍历输出并寻找 /sbin 在里面。 很有可能你不会找到它。 如果是这种情况,那么导出 /sbin 使用此命令到您的 PATH 变量:

 PATH = $PATH:/sbin

运行此命令后重新启动 Linux 桌面。 启动后,您应该能够完美地使用 ifconfig 命令。

ifconfig 和 net-tools 的现代替代方案

虽然您可能会发现对 ifconfig 很熟悉,但建议您继续使用更新的工具,以提供相同的功能和更好的性能。

当 net-tools 包被宣布弃用时,它被 iproute2 软件套件取代,其中包括更好的替代品,如 ip、cstat、arpd、nstat、devlink、ss、tc 等。

iproute2 包应该已经安装在你的 Linux 机器上,所以不用担心安装或配置。 您可以简单地运行命令。

要运行 ifconfig 实用程序的替代方案,请输入以下命令:

ip a

您会发现输出与 ifconfig 命令的输出相同。 您可以通过以下方式轻松获得命令行帮助 – 帮助 旗帜。 或者,如果您想了解有关每个命令的更多信息,可以从阅读他们的手册页开始。

适用于 Linux 的最佳网络命令

Linux 可以说是最流行的服务器和台式机操作系统。 熟悉一些有助于故障排除和配置网络设置的有用命令永远不会有什么坏处。 由于网络命令太多无法计算,我们整理了一些必须知道的 Linux 网络实用程序的列表。