100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 运用Shell 命令行获得本机IP地址

运用Shell 命令行获得本机IP地址

时间:2020-01-14 06:17:11

相关推荐

运用Shell 命令行获得本机IP地址

web前端|html教程

Shell,命令行,本机

web前端-html教程

jsp新闻系统源码,vscode中怎么画直线,ubuntu停止ping,怎么找tomcat镜像,千足爬虫,php 批量添加,贵溪seo优化排名系统,有有卡盟平台网站源码,杰奇新笔趣阁模板lzw

小型oa系统 源码,vscode能当记事本,Ubuntu打开gpu,tomcat类预加载,python爬虫队列,php推广分成系统,seo站外优化做什么lzw

运用Shell 命令行获得本机IP地址

在 mac 下面输入ifconfig或者在linux下面输入ip a就可以得到我们的网卡信息。不过通常情况下,我们需要查看的是我们的IP地址,不需要这么多的信息。所以,我想把这些信息给摘取出来。

欢乐玩家 源码,vscode不能命名,ubuntu16怎么安装,tomcat绝顶,模糊检索 sqlite,outlook服务器设置方法,jquery民族选择插件,前端框架内UI,php可以写爬虫吗,PHP算式,北京seo优化的公司,网站搜索栏界面,动态网页设计图片滚动,网站登录页模板,移动端页面加载动画效果,api管理系统 开源,dede程序用什么数据库lzw

mac ifconfig 下面的实现

我们输入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

好,已经精简很多了。

我们再排除掉inet6127的信息,就可以得到我们的本地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了。

在 linux centos 7 下面实现获取本机IP的脚本

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来清除开头的空格。

其他的逻辑是一样的。如果喜欢的话,也可以搞成全局的,逻辑基本和mac是一致的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。