我刚刚在Mac(osx10.9.3 + virtualbox)上将CentOS7作为虚拟机安装。运行ifconfig返回找不到命令。同时运行sudo /sbin/ifconfig会返回未找到的命令。我是根
echo $PATH的输出如下。

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/robbert/.local/bin:/home/robbert/bin


我的路径正常吗?如果没有,该如何更改?

此外,我在虚拟机上还没有Internet连接,也许这是一个因素。

评论

尝试sudo / sbin / ifconfig。

默认情况下未安装它,可能是因为它已过时:被ip代替。

尝试ip命令。 ifconfig现在已弃用

@Ramesh不需要sudo:/ sbin / ifconfig足以显示设置。如果要更改设置,则只需要sudo(然后sudo ifconfig就足够了。)。

@SHW仅仅因为ip工具的作者决定不建议使用ifconfig并不意味着世界其他地方都必须停止使用它。

#1 楼

TL / DR:ifconfig现在为ip a。请尝试ip -s -c -h a

您的路径看起来不错,但其中不包含/sbin,这可能是预期的。

您可能正在寻找命令/sbin/ifconfig

如果此文件不存在(请尝试ls /sbin/ifconfig),则可能只是未安装该命令。
它是net-tools软件包的一部分,
默认情况下未安装,因为它是已不推荐使用
,并由软件包ip中的命令
iproute2取代。

不带选项的ifconfig的功能由指定对象ipaddress代替。

ifconfig


等效于

ip addr show


并且,因为object参数可以缩写并且命令默认为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


它显示带有后缀的计数,例如26.1M79.3k,并为一些相关的术语和地址上色。

如果您感觉到命令太长,请使用简短选项:
这等效于:

$ 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


评论


ip +1。 net-tools已被弃用,转而支持iproute2。

– HalosGhost
2014年7月19日在18:44

就像这个答案一样,等效的ifconfig命令是ip addr。

–编码员
15年12月4日在19:13

是-添加选项-s(-stats,-statistics):ip -s addr

– Volker Siegel
16年4月26日在17:12

也可能会有所帮助不推荐使用的Linux网络命令及其替代品:dougvitale.wordpress.com/2011/12/21/…

– Antonio Vinicius Menezes Medei
17年6月6日在17:05



是否因为ifconfig而弃用?他们不喜欢这个名字吗? (是的,我了解功能的要点,但这不是删除命令的好理由)为什么他们不只是保留命令以与服务器中的脚本兼容,例如创建别名? Linux已经开始失去意义...,而Linux也正在做些废话,systemd如何在简单的类Unix服务器中有用?更好地迁移到freebsd之前为时已晚?例如,在今天不以文本模式重启的情况下,几乎不可能以简单的方式更改某些发行版的ip!

–卢西亚诺·安德雷斯·马蒂尼(Luciano Andress Martini)
17年11月28日在13:34



#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 


评论


完美的答案...为我工作

– TAMIM HAIDER
20-09-21在7:29

#3 楼

由于其他所有人都已经提供了找到ifconfig或可用替代方案的答案,因此,我将提供一些有关如何摆脱这种情况的通用提示,因为这不是第一次或最后一次需要掌握命令/软件包/在他们的系统上的实用程序(基本上我正在教一个人如何钓鱼:)。这些说明适用于RHEL / CentOS。
场景1:如果该命令已经存在于另一个系统上:


which ifconfig <-查找ifconfig的位置。可能会说/ usr / sbin / ifconfig

rpm -qf /usr/sbin/ifconfig <-这将为您提供rpm的名称(如net-tools-2.0.0)

sudo yum install net-tools <-在您的系统上运行此命令以安装软件包。

方案2:如果没有其他参考系统,请运行命令yum whatprovides ifconfig。这将告诉您包含该命令的软件包名称,以及如果该命令已存在于系统中,则显示该命令的路径。如果该软件包不存在,则只需运行sudo yum install即可安装它,并且应该在途中。
这些是查找和安装任何软件包的通用说明。我不在这里讨论有关回购/其他发行版和其他内容的详细信息,以便您可以开始使用。
HTH。