我刚刚在我的 mac 上安装了 CentOS7 作为虚拟机(osx10.9.3 + virtualbox)。运行ifconfig
返回命令未找到。还运行sudo /sbin/ifconfig
返回命令未找到。我是根。的输出
echo $PATH
如下。
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/robbert/.local/bin:/home/robbert/bin
我的路径正常吗?如果不是,我该如何改变它?
另外,我的虚拟机还没有互联网连接,也许这是一个因素。
答案1
TL/DR: ifconfig
就是现在ip a
。尝试ip -s -c -h a
。
您的路径看起来不错,但不包括/sbin
,这可能是有意的。
您可能正在寻找该命令/sbin/ifconfig
。
如果此文件不存在(尝试ls /sbin/ifconfig
),则可能未安装该命令。
它是 package 的一部分net-tools
,默认情况下不安装,因为它是已弃用
和被取代通过命令
ip
从包装中iproute2
。
不带选项的功能ifconfig
被替换为ip
指定目的 address
。
ifconfig
相当于
ip addr show
并且,因为目的论证可以缩写并且命令默认为show
, 也为
ip a
输出格式有些不同:
$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10553 errors:0 dropped:0 overruns:0 frame:0
TX packets:10553 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9258474 (9.2 MB) TX bytes:9258474 (9.2 MB)
[ ... ]
和
$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
[ ... ]
请注意,输出更加简洁:它不显示以正常或其他方式处理的数据包计数。
为此,添加选项-s
( -stats
, -statistics
):
$ ip -s addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
74423 703 0 0 0 0
TX: bytes packets errors dropped carrier collsns
74423 703 0 0 0 0
但你真正想看到的可能是这样的:
$ ip -stats -color -human addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
74.3k 700 0 0 0 0
TX: bytes packets errors dropped carrier collsns
74.3k 700 0 0 0 0
26.1M
它显示带有或等后缀的计数,79.3k
并为一些相关术语和地址着色。
如果您觉得命令太长,请使用简短的选项:
这是等价的:
ip -s -c -h a
答案2
(已验证)CENTOS 7默认最小安装不安装net-tools。
(已验证)“ifconfig”命令将在安装包 net-tools 时可用
-如何为不太懂 Linux 的专家通过 yum 安装 net-tools。
1) 拥有 root 权限 shell 或位于 sudo 列表中。
2a) 在 root shell 提示符下 (#)
yum install net-tools
2b) sudo 列表中的用户帐户
sudo yum install net-tools
如果该软件包已安装,它将显示此信息并退出 yum。 (那么听起来像是路径问题)。如果未安装,yum 将在几次本地/网络包检查后提示用户继续。安装将(应该)花费一点时间.. 现在 ifconfig 已安装。
如果你觉得冒险..相当于使用ifconfig
ip显示接口/地址信息
ip addr
答案3
由于其他人已经提供了查找 ifconfig 或可用替代方案的答案,因此我将提供一些有关如何摆脱这种情况的通用提示,因为这不是第一次或最后一次需要掌握命令/包/他们系统上的实用程序(基本上我是在教一个人如何钓鱼:)。这些说明适用于 RHEL/CentOS。
场景 1:如果该命令已存在于另一个系统上:
which ifconfig
<- 找到 ifconfig 的位置。它可能会说 /usr/sbin/ifconfigrpm -qf /usr/sbin/ifconfig
<- 这将为您提供 rpm 的名称(如 net-tools-2.0.0)sudo yum install net-tools
<- 在您的系统上运行此命令以安装软件包。
场景 2:如果您没有其他参考系统,请运行命令yum whatprovides ifconfig
。这将告诉您包含该命令的包名称,以及该命令的路径(如果它已存在于您的系统上)。如果该软件包不存在,您只需运行 sudo yum install 即可安装它,然后就可以开始安装了。
这些是查找和安装任何软件包的通用说明。我不会在这里详细介绍存储库/其他发行版和其他内容,以便您可以开始。
HTH。