linux命令行获取ip linux 获取ip命令

获取Linux IP地址的六种方法总结本文总结六种查看Linux IP地址的方法 , 方便以后的运维开发工作 。
在介绍前先学习一下三个命令行筛选的主要的指令 , 也是频繁使用到的命令 。
1、head 。head 命令可用于查看文件的开头部分的内容 , 有一个常用的参数 -n 用于显示行数 , 默认为 10 。
运行head --help查看说明信息:
-q 隐藏文件名
-v 显示文件名
-c数目 显示的字节数 。
-n行数 显示的行数 。
2、grep 。grep 命令用于查找文件里符合条件的字符串 。运行grep --help查看说明信息,参数太多主要有以下几种:
grep -r递归选择 。
grep -v反选 , 显示不包含匹配文本的所有行 。
grep -n显示符合样式的那一行之前 。
grep -A显示符合范本样式的那一列之外,并显示该行之后的内容 。
3、awk 。强大的文本分析工具,命令使用过于复杂(awk --help),只需要知道 awk '{print$2}'为打印第二行数据 。
4、tail。tail命令可用于查看文件的结束部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10 。tail --help查看主要的参数:
tail -n显示最后多少行
tail -c显示最后十个字符
tail -f 循环读取 , 跟踪显示最后十行
5、cut 。显示每行从开头算起的文字 。
cut -b :以字节为单位进行分割 。
cut -c :以字符为单位进行分割
cut -d :自定义分隔符 , 默认为制表符
cut -f :与-d一起使用,指定显示哪个区域
无线网卡地址:
echo wlan0=`ifconfigwlan0 | head -n2 | grep inet | awk '{print$2}'`
有线网卡地址:
echo eth0=`ifconfigeth0 | head -n2 | grep inet | awk '{print$2}'`
或者命令:
ifconfig | grep "inet " | cut -d: -f2 | awk '{print $1}' | grep -v "^127."
无线网卡地址:
ip address | grep wlan0 | awk '{print$2}'
有线网卡地址:
ip address | grep eth0 | awk '{print$2}'
或者
echo eth0=`ip address showeth0 | head -n4 | grep inet | awk '{print$2}'
echo wlan0=`ip address show wlan0 | head -n4 | grep inet | awk '{print$2}'
运行hostname -help命令查看说明信息:
Program options:
-a, --aliasalias names
-A, --all-fqdnsall long host names (FQDNs)
-b, --bootset default hostname if none available
-d, --domainDNS domain name
-f, --fqdn, --longlong host name (FQDN)
-F, --fileread host name or NIS domain name from given file
-i, --ip-addressaddresses for the host name
-I, --all-ip-addresses all addresses for the host
-s, --shortshort host name
-y, --yp, --nisNIS/YP domain name
hostname -i得到环回地址127.0.1.1 ,  hostname -I得到具体的网卡信息192.168.31.82。
php语言查看ip就是使用函数shell_exec来执行shell命令 。
比如:
?php
echo shell_exec("echo wlan0=`ifconfigwlan0 | head -n2 | grep inet | awk '{print$2}'`");
?
然后执行php ip.php。shell_exec()里面可以放置任何shell命令 。这个方法的意义在于php可以通过网页对外提供服务 。
#!/usr/bin/env python
import socket
import fcntl
import struct
def get_ip_address(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915,# SIOCGIFADDR
struct.pack('256s', ifname[:15])
)[20:24])
Local_wlan0=get_ip_address("wlan0")
Local_lo=get_ip_address("lo")
#Local_eth0=get_ip_address("eth0")
print Local_wlan0
print Local_lo
#print Local_eth0
利用socket包,然后执行pythonip.py 得到wlan0信息 。
#!/usr/bin/env python

推荐阅读