1. Linux系统下查看IP地址的命令
在Linux系统中,我们可以使用一些命令来查看当前主机的IP地址。下面将介绍几个常用的命令。
1.1 ifconfig命令
ifconfig命令用于显示或配置网络设备的信息,包括IP地址、网络掩码、网络接口等。
ifconfig
如果没有任何参数,直接运行ifconfig命令,将会显示所有可用的网络接口及其信息。例如:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:1c:c0:ae:9a:3b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在上面的输出中,我们可以看到eth0是一个网络接口,它的IP地址是192.168.1.100,子网掩码是255.255.255.0。
1.2 ip命令
ip命令是Linux系统中最常用的用于配置网络的命令行工具,它可以查看和设置网络接口的信息。
ip address
执行以上命令可以显示当前所有网络接口及其IP地址。例如:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1c:c0:ae:9a:3b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 76499sec preferred_lft 76499sec
在上面的输出中,可以看到lo是回环接口,它的IP地址是127.0.0.1。eth0是一个物理接口,它的IP地址是192.168.1.100。
1.3 hostname命令
hostname命令用于显示或设置系统的主机名。
hostname -I
执行以上命令可以显示当前主机的IP地址。例如:
192.168.1.100
上述命令会返回主机的IP地址,如果系统有多个IP地址,将以空格分隔。
2. 使用Shell脚本截取IP地址
如果我们希望将IP地址保存到一个变量中,以便在Shell脚本中使用,可以通过一些命令和工具实现。
2.1 使用ifconfig命令截取IP地址
ifconfig命令输出的信息是一段文本,我们可以通过字符串操作截取其中的IP地址。
ip=\$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
echo "The IP address is: \$ip"
以上代码将会返回eth0接口的IP地址,并打印在屏幕上。
2.2 使用ip命令截取IP地址
ip命令输出的信息也是一段文本,我们可以通过字符串操作截取其中的IP地址。
ip=\$(ip address show dev eth0 | grep 'inet ' | awk '{print $2}')
echo "The IP address is: \$ip"
以上代码将会返回eth0接口的IP地址,并打印在屏幕上。
3. Python脚本查看IP地址
除了使用Shell脚本,我们还可以使用Python脚本来查看IP地址。
3.1 使用socket库
import socket
hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)
print("Hostname:", hostname)
print("IP Address:", ip)
以上代码使用socket库中的gethostname和gethostbyname函数来分别获取主机名和IP地址,并打印在屏幕上。
3.2 使用subprocess库
import subprocess
result = subprocess.run(["hostname", "-I"], capture_output=True, text=True)
ip = result.stdout.strip()
print("IP Address:", ip)
以上代码使用subprocess库中的run函数来执行命令"hostname -I",并将命令的输出截取为变量ip,并打印在屏幕上。
总结
本文介绍了在Linux系统下查看IP地址的几个常用命令,并给出了Shell脚本和Python脚本的示例,可以实现获取IP地址的功能。通过这些命令和脚本,我们可以方便地获取当前系统的IP地址,以便在网络配置或程序开发中使用。