ifconfig与ifconfig -a的区别
今天做项目时需要通过ifconfig -a命令统计网卡数量,就想知道ifconfig
和ifconfig -a
的区别。结果在网上找了半天,也没有找到。正好同一天在docker中启用网卡时,发现了两个命令的区别,特此记录。
先上结论
ifconfig
:显示up状态(**状态)的网卡信息
ifconfig -a
:显示所有网卡的信息,包含未up的
发现过程
1.首先创建两个docker容器并启动,过程略,记得开启--privileged=true
2.使用ip link命令sudo ip link add eth1 netns 【pid1】 type veth peer name eth1 netns 【pid2】
向两个容器添加网卡eth1,数字为容器pid,可通过sudo docker inspect -f '{{.State.Pid}}' 【容器id】
命令获取。
3.进入容器,执行ifconfig
命令
4.执行ifconfig -a
命令
可以看到未up的网卡只有在ifconfig -a
命令执行后才会显示
5.在docker容器内执行ifconfig eth1 10.0.0.10 up
**eth1,然后执行ifconfig
,发现已经可以显示eth1的信息
PS:最后一步容器id变了是因为我做到这一步发现创docker时忘记开启--privileged=true
选项了,又重新创了个docker来了一遍…