mac에서 ifconfig
를 입력하거나 linux
에서 ip a
를 입력하세요. 네트워크 카드 정보. 하지만 일반적으로 우리가 확인해야 할 것은 IP 주소이므로 그다지 많은 정보가 필요하지 않습니다. 그래서 이 정보를 추출하고 싶습니다. ifconfig
或者在 linux
下面输入 ip a
就可以得到我们的网卡信息。不过通常情况下,我们需要查看的是我们的IP地址,不需要这么多的信息。所以,我想把这些信息给摘取出来。
我们输入 ifconfig
会得到大段的信息,我们可以看到我们想要的IP地址前面的字符串是 inet
所以,我们优化一下代码如下:
ifconfig | grep inet
得到如下信息:
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
好,已经精简很多了。
我们再排除掉 inet6
和 127
的信息,就可以得到我们的本地IP了
ifconfig | grep inet | grep -v inet6 | grep -v 127
得到
inet 192.168.12.139 netmask 0xffffff00 broadcast 192.168.12.255
最前面是一个制表符,我们不管,我们用空格分割,并取第二个字段,就可以得到我们的IP信息了
ifconfig | grep inet | grep -v inet6 | grep -v 127 | cut -d ' ' -f2
就顺利的得到另外我们想要的本机IP地址。
我们在 ~/.bin/
下面创建一个 getip
的文件,并用 chmod +x ~/.bin/getip
赋予执行权限。然后在命令行里输入 getip
就可以得到我们的本机IP了。
需要先把
~/.bin/
配置为环境变量,请参考 将这个命令作为一个系统命令,可以随时执行
linux
不使用 ifconfig
命令来获取信息,而是使用 ip a
来获取。
所以我们把上面的命令修改一下,改成
ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2
由于 linux 中得到的信息的最前面不是制表符而是空格,所以加上了 sed 's/^[ t]*//g'
ifconfig
를 입력하면 우리가 원하는 IP 주소 앞의 문자열이 라는 것을 알 수 있습니다. >inet
그래서 다음과 같이 코드를 최적화해 보겠습니다. 🎜rrreee🎜다음 정보를 얻으세요: 🎜rrreee🎜좋아, 많이 간소화되었습니다. 🎜🎜그런 다음 inet6
및 127
의 정보를 제외하고 로컬 IP를 얻을 수 있습니다.🎜rrreee🎜Get🎜rrreee🎜첫 번째는 탭 문자입니다. 문제가 발생하면 공백으로 구분하고 두 번째 필드를 사용하여 IP 정보를 얻습니다. 🎜rrreee🎜 그러면 원하는 다른 로컬 IP 주소를 성공적으로 얻을 수 있습니다. 🎜🎜~/.bin/
아래에 getip
파일을 생성하고 chmod +x ~/.bin/getip
를 사용하여 실행 권한을 부여합니다. 그런 다음 명령줄에 getip
를 입력하여 로컬 IP를 가져옵니다. 🎜🎜먼저 ~/.bin/
를 환경 변수로 설정해야 합니다. 이 명령을 언제든지 실행할 수 있는 시스템 명령으로 사용하는 것을 참고하세요🎜🎜
linux
를 얻기 위한 스크립트를 구현합니다. 정보를 얻기 위해 ifconfig
명령을 사용하는 대신 다음을 사용하십시오. ip a
를 통해 정보를 얻으세요. 🎜🎜그래서 위 명령을 🎜rrreee🎜로 수정했습니다. Linux에서 얻는 정보의 앞부분이 탭 문자가 아니라 공백이므로 sed 's/^[ t]*/ /g'를 추가했습니다. code> 선행 공백을 제거합니다. 🎜🎜다른 논리도 마찬가지입니다. 원하는 경우 전역으로 만들 수도 있으며 논리는 기본적으로 Mac과 동일합니다. 🎜
위 내용은 셸 명령줄을 사용하여 로컬 IP 주소 얻기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!