Linux shell修改网卡名为eth0

服务器初始化的时候将网卡名字改成eth0
网卡名字千奇百怪
有默认的eth0,有ens33,有enp164932等
下面方法可以取出网卡名称
方法1

ip a | grep '^[0-9]' |awk -F': ' '{print $2}' | grep -v lo

方法2

ip a | sed -r -n 's/^[0-9]+: (.*):.*/\1/p' | grep -v lo

方法3

ip a | grep 'group default qlen 1000' | awk -F ': ' '{print $2}' | grep -v lo

综合下来就是:

sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/g' /etc/default/grub
update-grub
a=$(ip a | grep 'group default qlen 1000' | awk -F ': ' '{print $2}' | grep -v lo)
sed -i "s/$a/eth0/g" /etc/netplan/00-installer-config.yaml

记得重启

改了改了
公司突然用服务器做LINUX服务器,不搭载ESXi了,这个时候,网卡有3-4个.上面这个就不行了..
要用这个

ip a | grep 'BROADCAST,MULTICAST,UP,LOWER_UP' | awk -F ': ' '{print $2}' 

完成体

sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/g' /etc/default/grub
update-grub
a=$(ip a | grep 'BROADCAST,MULTICAST,UP,LOWER_UP' | awk -F ': ' '{print $2}')
sed -i "s/$a/eth0/g" /etc/netplan/00-installer-config.yaml

记得重启

如果想顺便禁用一下ipv6

sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=""/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"/g' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"/g' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1 net.ifnames=0 biosdevname=0"/g' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/GRUB_CMDLINE_LINUX="ipv6.disable=1 net.ifnames=0 biosdevname=0"/g' /etc/default/grub
sudo update-grub
a=$(ip a | grep 'BROADCAST,MULTICAST,UP,LOWER_UP' | awk -F ': ' '{print $2}')
sed -i "s/$a/eth0/g" /etc/netplan/00-installer-config.yaml

当然要重启生效

感谢陈大佬的大力支持
https://blog.csdn.net/u010383467/article/details/118213446?spm=1001.2014.3001.5501

你可能感兴趣的:(Linux shell修改网卡名为eth0)