筛选IPv4地址,从ifconfig或ip addr命令的结果中筛选出除了lo网卡外的所有IPv4地址,并将结果重定向到个人用户家目录的ipv4_result.txt文件中;
时间: 2024-03-23 16:37:34 浏览: 19
可以使用以下命令来实现:
```bash
ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Ev '127.0.0.1|fe80::' | awk '{print $2}' > ~/ipv4_result.txt
```
或者
```bash
ip addr | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Ev '127.0.0.1|fe80::' | awk '{print $2}' > ~/ipv4_result.txt
```
这里使用了管道符将 ifconfig 或 ip addr 的结果传递给 grep 命令,使用正则表达式筛选出 IPv4 地址,再使用 grep 命令将 lo 网卡和 link-local 地址过滤掉,最后使用 awk 命令提取出 IP 地址并将结果重定向到 ~/ipv4_result.txt 文件中。
相关问题
筛选IPv4地址,从ifconfig或ip addr命令的结果中筛选出除了lo网卡外的所有IPv4地址,并将结果重定向到个人用户家目录的ipv4_result.txt文件中
可以使用以下命令实现:
```
ifconfig | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d: -f2 > ~/ipv4_result.txt
```
或者
```
ip addr | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d/ -f1 > ~/ipv4_result.txt
```
这两个命令的作用是:先使用ifconfig或ip addr命令获取网络接口信息,然后使用grep命令筛选出含有"inet "的行(即IPv4地址所在行),再使用grep -v命令排除掉含有"127.0.0.1"的行(即lo网卡的IPv4地址),接着使用awk命令提取IPv4地址所在列,最后使用cut命令去除多余的字符并将结果重定向到~/ipv4_result.txt文件中。
Linux获取本机所有网卡的IP地址除了lo网卡
您可以使用以下命令,来获取Linux本机所有网卡的IP地址(除了lo网卡):
```
ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
```
该命令将筛选掉lo网卡并获取其余网卡的IP地址列表。