linux如何查看本机ip地址

linux如何查看本机ip地址,第1张

1.修改/etc/profile文件,注释掉if语句即可

把下面的if语句注释掉:

# Path manipulation

if [ "$EUID" = "0" ]then

pathmunge /sbin

pathmunge /usr/sbin

pathmunge /usr/local/sbin

fi

修改为

# Path manipulation

# if [ "$EUID" = "0" ]then

pathmunge /sbin

pathmunge /usr/sbin

pathmunge /usr/local/sbin

#fi

2.可以使用ln 命令连接

下图是 *** 作详细过程

[Blinux@bogon ~]$ ifconfigbash: ifconfig: command not found

[Blinux@bogon ~]$ ln -s /sbin/ifconfig /bin/ifconfigln: 正在创建指向“/sbin/ifconfig”的符号链接“/bin/ifconfig”: 权限不够

[Blinux@bogon ~]$ su

口令:

[root@bogon Blinux]# ln -s /sbin/ifconfig /bin/ifconfig[root@bogon Blinux]# su Blinux[Blinux@bogon ~]$ ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:D4:AD:D6

inet addr:192.168.13.132 Bcast:192.168.13.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fed4:add6/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:254 errors:0 dropped:0 overruns:0 frame:0

TX packets:193 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:28648 (27.9 KiB) TX bytes:20650 (20.1 KiB)

Interrupt:67 Base address:0x2000

loLink encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:2471 errors:0 dropped:0 overruns:0 frame:0

TX packets:2471 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:4570048 (4.3 MiB) TX bytes:4570048 (4.3 MiB)

3.用su – root方法

[Blinux@bogon ~]$ ifconfig

bash: ifconfig: command not found

[Blinux@bogon ~]$ su - root

口令:

[root@bogon ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:D4:AD:D6

inet addr:192.168.13.132 Bcast:192.168.13.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fed4:add6/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:292 errors:0 dropped:0 overruns:0 frame:0

TX packets:228 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:32842 (32.0 KiB) TX bytes:24487 (23.9 KiB)

Interrupt:67 Base address:0x2000

loLink encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:2471 errors:0 dropped:0 overruns:0 frame:0

TX packets:2471 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:4570048 (4.3 MiB) TX bytes:4570048 (4.3 MiB)

    本文总结六种查看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=`ifconfig  wlan0 | head -n2 | grep inet | awk '{print$2}'`

有线网卡地址:

echo eth0=`ifconfig  eth0 | 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 show  eth0 | 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, --alias            alias names

    -A, --all-fqdns        all long host names (FQDNs)

    -b, --boot            set default hostname if none available

    -d, --domain          DNS domain name

    -f, --fqdn, --long    long host name (FQDN)

    -F, --file            read host name or NIS domain name from given file

    -i, --ip-address      addresses for the host name

    -I, --all-ip-addresses all addresses for the host

    -s, --short            short host name

    -y, --yp, --nis        NIS/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=`ifconfig  wlan0 | 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包,然后执行python  ip.py 得到wlan0信息。

#!/usr/bin/env python

import os

def get_ip():

out = os.popen("echo wlan0=`ifconfig  wlan0 | head -n2 | grep inet | awk '{print$2}'`").read()

print out

if __name__ == '__main__':

get_ip()

和php的shell_exec函数类似,os.popen()里面可以放置任何shell命令。注意有个函数os.system的结果只是命令执行结果的返回值,执行成功为0;os.popen()可以读出执行的内容,输出的结果比较特殊,带换行符\n 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8320535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存