📅  最后修改于: 2023-12-03 15:22:39.092000             🧑  作者: Mango
在服务器管理和网络管理中,获取所有IP地址是十分有用的任务。用Shell脚本可以实现一次性列出所有IP地址,无论是本地IP或者远程IP。
在Linux中,可以使用ifconfig命令来获取本地IP地址。然后可以使用grep命令来过滤掉非IP地址的文本信息。下面是一个示例Shell脚本:
#!/bin/bash
ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}'
运行结果将输出系统所有的IP地址,例如:
192.168.1.101
127.0.0.1
在新的Linux发行版中,ifconfig命令已经被ip命令所取代。ip命令更加强大和灵活,可以用来获取所有类型的网络信息,包括IP地址。下面是一个示例Shell脚本:
#!/bin/bash
ip addr | grep 'inet ' | awk '{print $2}' | cut -f1 -d'/'
这条命令将输出所有本地IP地址,例如:
192.168.1.101
127.0.0.1
如果你想获取远程主机的IP地址,可以使用nmap命令。nmap是一个网络扫描程序,可以用来列出主机的所有开放端口和IP地址。下面是一个示例Shell脚本:
#!/bin/bash
nmap -sP 192.168.1.0/24 | grep 'report' | awk '{print $5}'
这个脚本将扫描本地网络,并列出所有本地IP地址,例如:
192.168.1.1
192.168.1.101
本文介绍了3种列出所有IP地址的Shell脚本方法:ifconfig命令、ip命令和nmap命令。你可以根据自己的需要选择最适合的方法。无论哪种方法,都可以让你轻松获取所有IP地址。