Home  >  Article  >  Web Front-end  >  Use the Shell command line to obtain the local IP address

Use the Shell command line to obtain the local IP address

一个新手
一个新手Original
2017-09-07 15:22:524704browse


Use the Shell command line to obtain the local IP address

Enter ifconfig under mac or enter# under linux ##ip a can get our network card information. But usually, what we need to check is our IP address, and we don't need so much information. So, I want to extract this information.

mac ifconfig The following implementation

We enter

ifconfig and we will get a large piece of information. We can see that the string in front of the IP address we want is inet

So, let’s optimize the code as follows:

ifconfig | grep inet

Get the following information:

    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet6 fe80::85e:9798:4041:1717%en0 prefixlen 64 secured scopeid 0x4
    inet 192.168.12.139 netmask 0xffffff00 broadcast 192.168.12.255
    inet6 fd86:415c:c5f9::c72:1c02:f044:65de prefixlen 64 autoconf secured
    inet6 fd86:415c:c5f9::cd76:7bb1:f77d:46f0 prefixlen 64 deprecated autoconf temporary
    inet6 fd86:415c:c5f9::508d:685b:6a66:b3ce prefixlen 64 autoconf temporary
    inet6 fe80::9446:a1ff:fe5e:9b8f%awdl0 prefixlen 64 scopeid 0x9
    inet6 fe80::9d71:6fa:3da5:9cb6%utun0 prefixlen 64 scopeid 0xa

Okay, it’s been streamlined a lot.

We can get our local IP by excluding the information of

inet6 and 127

ifconfig | grep inet | grep -v inet6 | grep -v 127

Get

    inet 192.168.12.139 netmask 0xffffff00 broadcast 192.168.12.255

The front is a tab character, we don’t care, we separate it with spaces and take the second field to get our IP information

ifconfig | grep inet | grep -v inet6 | grep -v 127 | cut -d ' ' -f2

We can successfully get the other local machine we want IP address.

We create a

getip file under ~/.bin/ and use chmod +x ~/.bin/getip to execute it permissions. Then enter getip in the command line to get our local IP.

You need to configure

~/.bin/ as an environment variable first. Please refer to this command as a system command, which can be executed at any time

Implement the script to obtain the local IP under linux centos 7

linux Do not use the ifconfig command to obtain information, but use ip a to obtain.

So we modified the above command to

ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2

Since the front of the information obtained in Linux is not a tab character but a space, we added

sed ' s/^[ \t]*//g' to remove leading spaces.

Other logic is the same. If you like, you can also make it global, and the logic is basically the same as that of Mac.

The above is the detailed content of Use the Shell command line to obtain the local IP address. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn