![是否有任何 Linux 命令可用于显示除 ifconfig 之外的所有网络接口](https://linux22.com/image/1535542/%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%20Linux%20%E5%91%BD%E4%BB%A4%E5%8F%AF%E7%94%A8%E4%BA%8E%E6%98%BE%E7%A4%BA%E9%99%A4%20ifconfig%20%E4%B9%8B%E5%A4%96%E7%9A%84%E6%89%80%E6%9C%89%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3.png)
我需要在 Arch Linux 安装(在 Virtualbox 中)上设置网络连接,并且需要知道我正在使用哪些网络接口。如何在不使用的情况下执行此操作ifconfig
?
答案1
该ifconfig
工具(来自net-tools
)已被弃用,取而代之的ip
是作为iproute2
套件一部分的工具。
这将列出接口及其 IP 地址(如果有):
ip addr
答案2
Linux.com 网站有以下文章更换是否配置命令知识产权:
大多数人学习 ifconfig 命令时学到的第一件事就是如何找出已分配给接口的 IP 地址。这通常使用 ifconfig 命令完成,无需任何标志或参数。要使用 ip 命令执行相同操作,请按如下方式运行:
知识产权
此命令将列出所有接口及其相关信息(上图 1)。
假设您只想查看 IPv4 信息(为了清楚起见)。为此,请发出以下命令:
ip-4a
或者,如果您只想查看 IPv6 信息:
ip-6a
如果您只想查看有关特定接口的信息怎么办?您可以使用以下命令列出无线连接的信息:
ip a 显示 wlan0
您甚至可以使用此命令获取更具体的信息。如果您只想查看 wlan0 接口上的 IPv4,请发出以下命令:
ip -4 a 显示 wlan0
您甚至可以使用以下命令仅列出正在运行的接口:
ip link ls 启动
答案3
还有另一种选择:使用内核提供的目录(sysfs)。
ls /sys/class/net/
这样就很容易写:
for interface in $(ls /sys/class/net/) ; do
echo $interface
# ...
done
请注意,子目录可以提供有关链路级别方面的一些信息(例如以太网 MAC 地址),但不能提供有关 IP 地址等方面的信息。
如果有人想知道那里可以找到什么,这里是文档: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
答案4
您还可以使用网络管理器 GUI 的命令行,使用命令列出可用的接口、其类型、连接状态和一般连接“名称”
nmcli dev status
或者你可以继续
nmcli dev show
这将产生类似于 Windows 命令的结果ipconfig /all
:
acejavelin@BlazingIcicle ~ $ nmcli dev show
GENERAL.DEVICE:enp2s0
GENERAL.TYPE:以太网
GENERAL.HWADDR:F8:32:E4:BD:00:00
GENERAL.MTU:1500
GENERAL.STATE:100(已连接)
GENERAL.CONNECTION:有线连接 1
GENERAL.CON-PATH:/org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.CARRIER:on
IP4.ADDRESS[1]:192.168.1.188/24
IP4.GATEWAY:192.168.1.1
IP4.ROUTE[1]:dst = 169.254.0.0/16,nh = 0.0.0.0,mt = 1000
IP4.DNS[1]: 208.67.220.220
IP4.DNS[2]: 208.67.222.222
IP4.DNS[3]: 192.168.1.1
IP6.地址[1]: fe80::36f1:930b:48a:ab0e/64
IP6.网关:GENERAL.DEVICE:lo
GENERAL.TYPE:环回
GENERAL.HWADDR:00:00:00:00:00:00
GENERAL.MTU:65536
GENERAL.STATE:10(未托管)
GENERAL.CONNECTION:--
GENERAL.CON-PATH:--
IP4.ADDRESS[1]:127.0.0.1/8
IP4.GATEWAY:
IP6.ADDRESS[1]:::1/128
IP6.GATEWAY:
acejavelin@BlazingIcicle ~ $
这也可以针对特定界面进一步完善
nmcli dev show eth0
或者nmcli dev show wl0
我还发现使用别名ipconfig
实际上nmcli dev show
在我使用的几台计算机上很有用。