如何优雅的获取 Mac OS 系统 IP 地址

简介: 用惯了 windows 系统的电脑,再使用苹果电脑时,总会有各种不习惯。比如,在获取电脑 IP 地址的时候,windows 电脑使用 ipconfig 命令就能非常方便的获取。但是,在苹果电脑上,使用类似的命令工具 ifconfig 却不那么方便了。因为系统会打印出很多无用的网卡信息,那么我们如何能够在 Mac 系统上优雅的获取 IP 地址呢?这就是我们今天想要介绍的内容。

目录

  • 前言
  • 正文
  • 结尾

前言

用惯了 windows 系统的电脑,再使用苹果电脑时,总会有各种不习惯。比如,在获取电脑 IP 地址的时候,windows 电脑使用 ipconfig 命令就能非常方便的获取。但是,在苹果电脑上,使用类似的命令工具 ifconfig 却不那么方便了。因为系统会打印出很多无用的网卡信息,那么我们如何能够在 Mac 系统上优雅的获取 IP 地址呢?这就是我们今天想要介绍的内容。

正文

我们都知道,在 windows 电脑上使用 ipconfig 命令就能非常方便的获取本机的 IP 地址。Mac 上也有类似的命令工具———— ifconfig,但是并不是很好用。

比如,在的机器上执行该命令,结果如下:

sh-3.2# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
  options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
  inet 127.0.0.1 netmask 0xff000000
  inet6 ::1 prefixlen 128
  inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
  nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
  options=400<CHANNEL_IO>
  ether f4:5c:89:b2:e9:81
  inet6 fe80::185c:8a51:7ee4:d399%en0 prefixlen 64 secured scopeid 0x4
  inet 192.168.3.16 netmask 0xffffff00 broadcast 192.168.3.255
  nd6 options=201<PERFORMNUD,DAD>
  media: autoselect
  status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
  options=460<TSO4,TSO6,CHANNEL_IO>
  ether 82:17:07:5f:28:00
  media: autoselect <full-duplex>
  status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
  options=460<TSO4,TSO6,CHANNEL_IO>
  ether 82:17:07:5f:28:01
  media: autoselect <full-duplex>
  status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
  options=63<RXCSUM,TXCSUM,TSO4,TSO6>
  ether 82:17:07:5f:28:00
  Configuration:
    id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
    maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
    root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
    ipfilter disabled flags 0x2
  member: en1 flags=3<LEARNING,DISCOVER>
          ifmaxaddr 0 port 5 priority 0 path cost 0
  member: en2 flags=3<LEARNING,DISCOVER>
          ifmaxaddr 0 port 6 priority 0 path cost 0
  nd6 options=201<PERFORMNUD,DAD>
  media: <unknown type>
  status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
  options=400<CHANNEL_IO>
  ether 06:5c:89:b2:e9:81
  media: autoselect
  status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
  options=400<CHANNEL_IO>
  ether 8a:7b:0d:5f:72:87
  inet6 fe80::887b:dff:fe5f:7287%awdl0 prefixlen 64 scopeid 0x9
  nd6 options=201<PERFORMNUD,DAD>
  media: autoselect
  status: active
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
  options=400<CHANNEL_IO>
  ether 8a:7b:0d:5f:72:87
  inet6 fe80::887b:dff:fe5f:7287%llw0 prefixlen 64 scopeid 0xa
  nd6 options=201<PERFORMNUD,DAD>
  media: autoselect
  status: active
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
  inet6 fe80::66b1:fe05:eb71:7aa0%utun0 prefixlen 64 scopeid 0xb
  nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
  inet6 fe80::10eb:462e:b7cd:f6c%utun1 prefixlen 64 scopeid 0xc
  nd6 options=201<PERFORMNUD,DAD>

执行结果的部分截图如下:

image.png

看到这些打印结果,是不是瞬间蒙圈啦?

哈哈,可以理解,那么有没有更加直观的命令语句呢?答案是有的。

终极命令:

ifconfig | grep "inet " | grep -v 127.0.0.1

让我看一下执行效果:

image.png

完美,言简意赅,直接打印了我们想要的 IP 地址信息:192.168.3.16 。

结尾

直到今天,终于知道如何在苹果电脑上优雅的用命令行获取 IP 地址信息了,感兴趣的小伙伴,自己赶紧复制粘贴命令试试吧!



作者简介:大家好,我是 liuzhen007,是一位音视频技术爱好者,同时也是CSDN博客专家、华为云享专家、InfoQ 签约作者,欢迎关注我分享更多干货!


目录
相关文章
|
10天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
12天前
|
算法 程序员
深入理解操作系统内存管理:分页系统的优势与挑战
【4月更文挑战第7天】 在现代操作系统中,内存管理是一项至关重要的任务,它确保了计算机能够高效、安全地运行各种程序。分页系统作为内存管理的一种技术,通过将物理内存分割成固定大小的单元——页面,为每个运行的程序提供了一种独立且连续的内存地址空间。该技术不仅简化了内存分配,还允许更高效的内存使用和保护。本文探讨了分页系统的核心原理,优势以及面临的挑战,旨在为读者揭示其在操作系统设计中的重要性。
|
30天前
|
编解码 项目管理 开发工具
探寻最受欢迎的 Mac 系统开源免费软件
探寻最受欢迎的 Mac 系统开源免费软件
|
28天前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
28 0
|
29天前
|
缓存 算法 安全
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第30天】 在现代操作系统中,内存管理是核心功能之一,它负责将有限的物理内存资源分配给多个并发运行的进程。分页系统作为内存管理的一种流行技术,其通过虚拟到物理地址的映射提供了程序的逻辑地址空间,并允许更高效的内存分配和保护。本文旨在探讨分页系统的关键优势,包括其如何提升内存利用率、实现内存保护以及支持多任务处理。同时,我们也将分析分页机制带来的挑战,诸如页面置换算法的效率问题、页表管理和TLB(Translation Lookaside Buffer)的维护等。
|
30天前
|
存储 算法
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第29天】 在现代操作系统中,内存管理是核心功能之一,它负责有效地分配、跟踪和回收内存资源。分页系统作为一种内存管理技术,已经成为大多数操作系统的标准配置。本文将探讨分页系统的原理、优势以及面临的挑战。通过对分页机制的深入分析,我们旨在提供一个全面的视角,以帮助读者更好地理解这一关键技术如何影响操作系统的性能和稳定性。
|
1月前
|
人工智能 Rust 运维
这一款 Mac 系统终端工具,已经用的爱不释手了!
这一款 Mac 系统终端工具,已经用的爱不释手了!
|
1月前
|
机器学习/深度学习 iOS开发 MacOS
MAC系统机器学习环境配置常见问题
MAC系统机器学习环境配置常见问题
|
2月前
|
存储 缓存 网络协议
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
|
2月前
|
Rust 安全 开发者
Rust在操作系统组件开发中的应用:设备驱动与系统服务
本文探讨了Rust在系统级开发中的潜力,特别是针对操作系统组件如设备驱动和系统服务的开发。我们将分析Rust为何适合这些任务,展示其在实际项目中的应用,并讨论其面临的挑战和未来的可能性。