【问题标题】:How to get just the bare IP 4 address from terminal in linux using the new ip command vs ipconfig?如何使用新的 ip 命令与 ipconfig 从 linux 终端获取裸 IP 4 地址?
【发布时间】:2021-12-30 18:47:42
【问题描述】:

ipconfig 不再作为 Ubuntu 20.04 和更高版本中可用的命令存在,我假设。新命令只是ip。当我运行ip address 命令时,我得到了所有设备和相关 IP 地址的完整列表。我只想要 eth0 设备和相关的公共 ip 4 地址。

【问题讨论】:

    标签: linux terminal ip


    【解决方案1】:

    我发现这个 cut 和 sed 管道可以正常工作以获得我想要的:

    在 Linux 上:

    ip a | grep eth0 | cut -d " " --fields=6 | sed '2q;d' | awk -F'/' '{print $1}'

    在 BSD/达尔文/Mac OS 上:

    ip a | grep en0 | tr -s 'inet' ' ' | sed '2q;d' | tr -s '' | awk -F' *? *' '{print $2}' | awk -F '/' '{print $1}'

    这只会产生我需要的裸 IP 地址。我必须对我实际需要的字段列进行一些试验和错误。这可能更通用,但这适用于我的用例。

    添加了一个公共 git 来卷曲并从任何地方运行,例如:

    curl -L https://cutt.ly/UUYcT1r | /bin/bash
    

    【讨论】:

    • 值得注意的是,有时设备不是eth0,而是类似enp3s0f0,因此需要根据需要为本地服务器调整脚本
    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2012-01-21
    • 2017-03-26
    • 2014-09-28
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多