067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)
#!/bin/bash
#该脚本使用 guestmount 工具,可以将虚拟机的磁盘系统挂载到真实机文件系统中
#Centos7.2 中安装 libguestfs-tools-c 可以获得 guestmount 工具
#虚拟机可以启动或者不启动都不影响该脚本的使用
#将虚拟机磁盘文件挂载到文件系统后,就可以直接读取磁盘文件中的网卡配置文件中的数据
#建立挂载点
clear
mountpoint="/media/virtimage"
[ ! -d $mountpoint ]&& mkdir $mountpoint
read -p "输入虚拟机名称:" name
echo "请稍后..."
#如果有设备挂载到该挂载点,则先 umount 卸载
if mount | grep -q "$mountpoint" ;then
umount $mountpoint
fi
#只读的方式,将虚拟机的磁盘文件挂载到特定的目录下,这里是/media/virtimage 目录
guestmount -r -d $name -i $mountpoint
echo
echo "--------------------------------------------"
echo -e "\033[32m$name 虚拟机中网卡列表如下:\033[0m"
dev=$(ls /media/virtimage/etc/sysconfig/network-scripts/ifcfg-* |awk -F"[/-]" '{print $9}')
# ls查看绝对路径
# awk -F"[/-]" 以/或者-为分隔符 分割/media/virtimage/etc/sysconfig/network-scripts/ifcfg-*
# {print $8} == ifcfg {print $9} == eth0..
echo $dev #输出网卡名
echo "--------------------------------------------"
echo
echo
echo "+++++++++++++++++++++++++++++++++++++++++++"
echo -e "\033[32m 网卡 IP 地址信息如下:\033[0m"
for i in $dev
do
echo -n "$i:"
grep -q "IPADDR" /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i || echo "未配置 IP 地址"
# grep -q "IPADDR" 查找eth0..内包含IPADDR的行 静默输出
# IPADDR=192.168.4.5
awk -F"=" '/IPADDR/{print $2}' /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i
# awk -F"=" '/IPADDR/ 以"="分割,包含/IPADDR/的行,输出$2
done
echo "+++++++++++++++++++++++++++++++++++++++++++"
最新文章
- 深入理解javascript对象系列第一篇——初识对象
- 说说ASP.NET的表单验证
- 流媒体技术之RTSP
- Quartz.NET syudy
- Ⅰ.net通信指前提
- Oracle数据库(1)
- c++实现输入法窗口自定义的代码
- activemq p2p方式
- Java IO面试
- 201521123075 《Java程序设计》第12周学习总结
- Reac全家桶笔记
- Kafka概述及安装部署
- .net amr格式文件转换成mp3格式文件的方法
- SQL: 从一个表随机读取一行或几行记录的问题
- PL/SQL学习笔记之异常
- [转载]drop、truncate和delete的区别
- GoldenGate实时投递数据到大数据平台(6)– HDFS
- vim 配色(mac)
- gradle 两种更新方法
- HUST 1599 - Multiple(动态规划)