linux系统过滤ip地址总结
安装Perl模块
# 官网地址 https://metacpan.org/pod/Regexp::Common
# 下载地址 https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz
安装步骤
wget https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz
tar xf Regexp-Common-2017060201.tar.gz
cd Regexp-Common-2017060201/
perl Makefile.PL
make
# apt/yum install make -y
make install
# 过滤IPv6
ip a |perl -MRegexp::Common=net -lnE 'say $& if /$RE{net}{MAC}/g'
# 过滤IPv4
ip a |perl -MRegexp::Common=net -lnE 'say $& if /$RE{net}{IPv4}/g'
# 过滤MAC地址
ip a |perl -MRegexp::Common=net -lnE 'say $& if /$RE{net}{IPv6}/g'
# 1、正则匹配过滤
ifconfig | awk '/inet / && $6 ~ /[0-9]/{print$2}'
ifconfig | grep -Po 'inet \K(?!127\.)\d{1,3}.\d{1,3}\.\d{1,3}\.\d{1,3}'
ip a | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"
ip a | sed -nr 's#.*inet ([^ ]+)\/.*#\1#p'
ip a | awk '$1=="inet"{split($2,a,"/");print a[1]}' # awk split用法
# 2、按照段落读取
ifconfig | awk 'BEGIN{RS=""}{print $6}'
# 3、注意:多块网卡时,需要排除lo网卡,因为eth0顺序不能保证在第一段
ifconfig | awk 'BEGIN{RS="";FS="\n"}!/^lo:/{$0=$2;FS=" ";$0=$0;print $2;FS="\n"};'
# 4、其他获取IPv4的用法
ifconfig | grep "inet "|awk '{print $2}'
ip -4 -o a | awk '{split($4,a,"/");print a[1]}'
ip -br address | awk '{print substr($3,1,index($3,"/")-1);}'
# 5、过滤网卡名称
ls -l /sys/class/net | awk '/devices/{print $(NF-2)}'
ifconfig | grep "mtu" |awk -F": " '{print $1}'
eth0
lo
wg0
# 6、过滤物理网卡
ls -l /sys/class/net | awk '$NF~/pci0/ { print $(NF-2); exit }'
# 获取公网IP
curl -4 icanhazip.com
curl http://ifconfig.me/ip
wget http://ipecho.net/plain -O - -q
wget -qO - icanhazip.com
# 添加获取本机IP地址的快捷命令
echo "alias myip=\"ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'\"">>/root/.bashrc
==>myip
linux系统过滤ip地址总结的更多相关文章
- linux系统查看IP地址,不显示IP地址或者只显示127.0.0.1
在linux系统中输入命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 然后显示如下结果 点击I或者是A进入可编辑状态(需要先切换到管理员帐号下,自行 ...
- 修改虚拟机上Linux系统的IP地址
然后再输入:ifconfig eth0 192.168.11.6 netmask 255.255.255.0 . 这样就可以把网卡eth0的IP地址修改为 192.168.11.6
- Linux永久修改IP地址
通常我们为了快速修改IP地址,会这么做 ifconfig eth0 192.168.0.2 netmask 255.255.255.0 这样修改IP地址后,你再运行ifconfig命令后,的确IP地址 ...
- Centos如何设置IP地址,LINUX怎么修改IP地址
对于很多刚刚接触linux的朋友来说,如何设置linux系统的IP地址,作为第一步,下面小编以centos系统为例,给大家演示如何给centos设置IP地址,如何修改linux 系统IP地址? 步骤阅 ...
- Linux下检测IP地址冲突及解决方法
问题说明:在公司办公网内的一台物理机A上安装了linux系统(ip:192.168.9.120),在上面部署了jenkins,redmine,svn程序.由于是在办公网内,这台机器和同事电脑都是在同一 ...
- linux下设置ip地址 gw网关,dns的方法
本文介绍下,在linux中设置IP地址.网关.dns的方法,有需要的朋友作个参考吧. 设置linux网络的方法有两种:第一种:使用命令修改(直接即时生效) 复制代码代码示例: ip and net ...
- CentOS/Linux下设置IP地址
CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...
- CentOS/Linux 网卡设置 IP地址配置
CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...
- CentOS/Linux 网卡设置 IP地址配置永久生效
CentOS/Linux下设置IP地址 1.临时生效设置 1.1修改IP地址 #ifconfig eth0 192.168.100.100 1.2修改网关地址 #route add default g ...
- 【IP】Linux中检测IP地址冲突
在Windows系统中,如果本地网络IP地址出现冲突,会出现图标提示. 在Linux系统中,并没有提供相关的功能,如果本地网络采用静态IP地址配置,出现比较奇怪的网络连接问题,如ssh连接复位,可以考 ...
随机推荐
- Vue进度条组件
1.进度条颜色是渐变的 <template> <div id="progress_bar" ref="myChart"></div ...
- gcc 内联汇编简介
啊 啊 在内联汇编中,标识寄存器的一个%变成了两个% 啊 如图是内联汇编的模板 assembler template 是汇编代码 output operands TODO input operands ...
- kvm 透传显卡至win10虚拟机
环境 已安装nvidia 显卡 驱动 操作系统:CentOS Linux release 7.9.2009 (Core) 内核版本:Linux 5.4.135-1.el7.elrepo.x86_64 ...
- 数据每三位增加一个逗号(即千分符) js
使用 toLocaleString() 另一种使用场景
- PHP 发送application/json POST请求
PHP用CURL发送Content-type为application/json的POST请求方法 function json_post($url, $data = NULL) { $curl = cu ...
- 如果还有问ARKIME不会部署安装,你就把这篇丢给他!
前言 关于在线安装和离线安装的配合方式,在本文中不再赘述.基本就是准备在线.离线两个一模一样的环境,在在线环境中边安装边借助yumdownloader.wget等解析依赖和下载安装包,然后再离线环境中 ...
- Django 初步运行过程分析笔记
2. django运行过程分析第一个过程分析:django启动过程python mangage.py runserver 0.0.0.0:8000这个命令先被python的sys.argv接收起来,保 ...
- echart lengend 选中事件
根据列选项 来改变echart y轴数值 前4个指标 甲方要求 95~100 第5个 要求 0~10如果混合起来 就是 0~100 这时的我 不由的破口大骂!!!但是 该干的活还是得干 干货如下:
- 初学银河麒麟linux笔记 第五章 windows中开发的QT程序适配linux的修改——外部控件重新调用
本人在WINDOWS系统中使用了"飞扬青云"的控件 https://gitee.com/feiyangqingyun/QUCSDK 由于系统移植,调用库应改为linux系统,首先下 ...
- 备份docker mysql数据库
1.查看容器 docker ps 2.进入容器 docker exec -it 容器id /bin/bash 3.备份数据 mysqldump 数据库名称 -uroot -p >/root/** ...