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:52 4642browse


Use the Shell command line to obtain the local IP address

Enterifconfigunder mac or enter# underlinux##ip acan 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

ifconfigand we will get a large piece of information. We can see that the string in front of the IP address we want isinet

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

inet6and127

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

getipfile under~/.bin/and usechmod +x ~/.bin/getipto execute it permissions. Then entergetipin 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

linuxDo not use theifconfigcommand to obtain information, but useip ato 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