我昨天用插入的以太网电缆引导了系统。未安装“ NetworkManager”,所以一旦启动,我就去寻找带有
ifconfig
的以太网接口的名称,以手动启动DHCP客户端,但是除了lo
之外,它什么都没有显示。NIC是通过
lspci
列出的,并且适当的内核驱动程序已加载。系统通常使用wifi,我记得它的接口名称是wlan0
。当我尝试ifconfig wlan0 up
时,出现了wlan0
。但是我只记得的以太网接口名称是eth[N]
和em[N]
-两者都不起作用。简单来说。它确实引用了一段源代码,这暗示着这种情况下的名称可能是从PCI总线和插槽号推导出来的,这似乎是不必要的麻烦。相信这可能是由systemd
和udev
共同确定的,但是/usr/lib/udev/rules.d
中几乎有100个文件,花了一个小时试图确定在哪里(以及是否有系统配置文件),这似乎也很荒谬。 />一定要知道它们是否可用,不仅仅是知道它们的命名方式,这样我就可以排除硬件问题等。找到可用名称的简单方法不是一种简单的方法Linux上的网络接口?#1 楼
我知道列出所有接口的最简单方法是ifconfig -a
EDIT
如果您使用的系统已完成此操作已过时,可以使用
ip link show
评论
如果我只是看了手册页!知道ip是否具有并行性很有趣,因为据说ifconfig被“过时”,以支持(IMO)更加钝和用户友好的命令。
–金锁
2014年4月18日15:05
我的人ifconfig中的第一件事:“注意,该程序已过时!要进行替换,请检查ip ...”这可能特定于linux。希望他们必须保留它以便与某些东西向后兼容。
–金锁
2014年4月18日15:09
如果不建议使用ifconfig TMK,那么我们应该尝试显示使用ip的示例。请参阅ifconfig维基百科文章:en.wikipedia.org/wiki/Ifconfig。
–slm♦
2014年4月18日在16:35
@slm尽管问题是特定于linux的,但使用两者的示例似乎不错,因为BSD用户可能仍然习惯于查看“ linux”页面-实际上,我将从标题中删除linux并编辑一个一点(最初这是自我回答的,我认为没有可移植的方法)。
–金锁
2014年4月18日在16:44
ifconfig已弃用?来吧。这个命令已经存在了30年。
–迈克尔·马丁内斯(Michael Martinez)
14年4月18日在18:02
#2 楼
内核在/sys
中按名称列出了它们,它们都分别在(例如)PCI设备树中-尽管在不知道它们从哪里开始的情况下找到它们并不容易-并通过/sys/class/net
中的符号链接一起找到它们。例如:> ls /sys/class/net
em1 lo wlp6so
另一个示例:
> ls /sys/class/net
lo p6s1 wlan0
如果不确定哪个是哪个,可以只需将它们全部放在其中:
ifconfig [name] up
或:
ip link set [name] up
,然后查看(相当清楚)由
ifconfig
列出的线索(无参数)。从Freedesktop.org文档链接的系统化源代码也引用: >评论
我为以太网获取的前缀是eth。我相信en用于无线局域网。
– Kaushal Modi
2015年1月23日下午13:36
@kaushalmodi eth是Linux内核。 systemd通过udev Freedesktop.org的可预测接口名称实现-内核名称在同一意义上是不可预测的,这是造成所有混乱的原因。上面的引号明确地从这里粘贴n'。还有更多的功能,因为我没有任何使用en作为以太网的系统机器。最接近的是em,其他的则完全不同。您可以自己阅读问题中的Freedesk.org链接以获取更多说明。
–金锁
2015年1月23日在16:27
[后来]去年某个时候Fedora或systemd更正了吗?我的PCI以太网现在为eno1。
–金锁
16年1月8日在13:36
@goldilocks&c:您可以通过内核命令行选项覆盖它:biosdevname = 0 net.ifnames = 0。我从来没有发现系统的方式“可预测”,而eth作为前缀对我来说似乎是合理的,所以我一直都这样。无论如何,它都是:您可以使用伪随机方式(即systemd)或其他方式(取决于内核选项)。
–Pryftan
19年11月2日,12:14
#3 楼
我总是做cat /proc/net/dev
记住它很容易评论
但这仅提供活动接口,而不是所有接口
–格兰特·鲍曼(Grant Bowman)
18-09-27在23:39
#4 楼
ifconfig
= Solaris ipconfig
= Windows ip
= Linux 我知道,但是肯定可以进行补充和更正。
评论
?? ifconfig也是Linux。
– fpmurphy
16-4-27在20:57
@ fpmurphy1阅读linux系统上的man ifconfig的第一段(简介后)。
–金锁
16-4-27的21:21
@fpmurphy ifconfig(8)在Linux下也被弃用。请参阅“注意和错误”部分。多年来一直是这种情况。因此,尽管ifconfig在Linux下工作,但这不是正确的方法。
–Pryftan
19年11月15日在18:54
@Pryftan。仅仅是因为某个实用程序已贬值,并不意味着该实用程序无法满足您的要求。正确的方法?抱歉,Linux没有规定正确的方法。
– fpmurphy
19年11月26日在8:51
@fpmurphy对于某些用途,它不起作用。是的,它可以工作,但在许多情况下,使用不赞成使用的方法只是愚蠢的。为什么有人会想使用旧的方式,将来知道的一切都可以删除?现在已经被弃用很多年了!无论如何,ifconfig使用它有什么意义? ip绰绰有余。但是,嘿,如果您喜欢它,那就这样吧。我只是说它有过时的原因!
–Pryftan
19/12/2在12:55
评论
在该问题中,您声明使用了ip链接,但是随后您接受了一个建议,建议使用ip link show进行完全相同的操作。为什么?@PavelŠimerda你是对的。我实际上可能已经使用过ip route -我在问题解决后第二天就写了这个问题(请参阅我自己的答案);我不习惯使用ip,也不喜欢使用过分斯巴达的手册页,因此我很可能在尝试了一次之后就放弃了它,开始通过/ sys,因为我知道kmod已加载,等等。对我来说更直接我将从问题中完全删除它。
如今,iproute2的手册页非常不错,我想您使用的是旧版本的软件包。