在Shell中获取计算机的IP地址有多种方法,以下是几种常用的方法:
方法一:使用`ifconfig`命令
```bash
ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}' | tr -d 'addr:'
```
这个命令会列出所有网络接口的IP地址,并去除本地回环地址(127.0.0.1)和IPv6地址。
方法二:使用`ip`命令
```bash
ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d '/'
```
这个命令会列出所有活动网络接口的IP地址,并去除子网掩码。
方法三:使用`route`命令
```bash
ip a | grep ^0.0.0.0 | awk '{print $8}' | grep "inet " | awk '{print $2}' | sed 's+/.*++'
```
这个命令会获取当前机器的物理IP地址。
方法四:使用`netstat`命令
```bash
netstat -atn | awk '{print $5}' | awk '{print $1}' | sort -nr | uniq -c
```
这个命令可以查看本机所有连接的状态,并列出远程主机的IP地址。
建议
方法一和 方法二适用于获取所有网络接口的IP地址,适用于需要多个IP地址的情况。
方法三适用于获取物理IP地址,适用于需要外部网络访问的情况。
方法四适用于查看本机连接的远程IP地址,适用于网络监控和故障排查。
根据具体需求选择合适的方法即可。