运用Shell 命令行获得本机IP地址
运用Shell 命令行获得本机IP地址
在 mac 下面输入 ifconfig
或者在 linux
下面输入 ip a
就可以得到我们的网卡信息。不过通常情况下,我们需要查看的是我们的IP地址,不需要这么多的信息。所以,我想把这些信息给摘取出来。
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
好,已经精简很多了。
我们再排除掉 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 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是一致的。
以上是运用Shell 命令行获得本机IP地址的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)
![Explorer.exe 在系统启动时不启动 [修复]](https://img.php.cn/upload/article/000/887/227/168575230155539.png?x-oss-process=image/resize,m_fill,h_207,w_330)
如今,许多Windows用户开始遇到严重的Windows系统问题。问题是系统加载后Explorer.exe无法启动,用户无法打开文件或文件夹。虽然,Windows用户在某些情况下可以使用命令提示符手动打开Windows资源管理器,并且每次系统重新启动或系统启动后都必须这样做。这可能是有问题的,并且是由于下面提到的以下因素造成的。损坏的系统文件。启用快速启动设置。过时或有问题的显示驱动程序。对系统中的某些服务进行了更改。修改后的注册表文件。请记住以上所有因素,我们提出了一些肯定会对用户有所帮助

很多使用win10系统的小伙伴在玩游戏或者装系统的时候有遇见过这个问题,应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具。这可能是操作系统没有相应权限的缘故,具体的教程下面一起来看看吧。使用命令行sxstrace.exe工具的教程1、该问题通常会在安装程序、游戏的时候出错,其提示为:应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具。2、开始→

Linux系统下在处理文件时,有时候需要删除文件末尾的行。这种操作在实际应用中很常见,可以通过一些简单的命令来实现。本文将介绍在Linux系统中快速删除文件末尾行的操作步骤,同时提供具体的代码示例。步骤一:查看文件末尾行在进行删除操作之前,首先需要确认文件的末尾行是哪一行。可以使用tail命令来查看文件的末尾行,具体命令如下:tail-n1filena

随着Linux操作系统的广泛应用,越来越多的人开始需要学习和了解Linux系统中的基本命令和快捷方式。在本文中,我们将介绍一些常用的Linux命令和快捷方式,帮助初学者了解Linux系统,提高工作效率。常用命令1.1ls命令ls命令是Linux中最常用的命令之一。它主要用于列出当前目录下的文件和子目录。常用的选项有:-l:以长格式显示文件信息,包括文件类型

本文详细介绍了将Ubuntu20.04升级到22.04的步骤。对于使用Ubuntu20.04的用户,错过了22.04版本带来的新功能和优势。为了获得更好的体验和安全性,建议及时升级到较新的Ubuntu版本。Ubuntu22.04的代号为“杰米水母”,让我们一起来探索如何获取最新的LTS版本吧!如何通过命令行将Ubuntu20.04升级到22.04掌握命令行会给你带来优势。虽然通过GUI更新Ubuntu是可能的,但我们的重点将是通过命令行。首先,让我们使用以下命令检查当前运行的Ubuntu版本:$

在Python中,可以通过命令行传递参数给脚本。这些参数可以在脚本内部使用,以便根据不同的输入执行不同的操作。Python命令行参数的详解:1、位置参数:在命令行中按照顺序传递给脚本的参数,它们可以在脚本内部通过位置来访问;2、命令行选项:以-或--开头的参数,通常用于指定脚本的特定选项或标志;3、传递参数值:通过命令行传递参数值。

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。

Django项目开启之旅:从命令行开始,创建你的第一个Django项目Django是一个强大而又灵活的Web应用框架,它以Python为基础,提供了许多开发Web应用所需的工具和功能。本文将带领你从命令行开始,创建你的第一个Django项目。在开始之前,请确保你已经安装了Python和Django。步骤一:创建项目目录首先,打开命令行窗口,并创建一个新的目录
