📌

ipコマンドで特定のNICだけを表示したい(Tips)

2023/05/20に公開

ipコマンドで特定のNICだけを表示(この例ではeth0

root@server01:~# ip a s eth0
2: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fe:73:0e:xx:xx:xx brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.0.3/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::fc73:eff:fefe:3d1e/64 scope link
       valid_lft forever preferred_lft forever
  • aaddressの省略形
  • sshowの省略形

もっとコンパクトに表示したい

root@server01:~# ip -br a s eth0
eth0@if8         UP             192.168.60.3/24 fe80::fc73:eff:fefe:3d1e/64
  • -br-briefの省略形

grepと組み合わせて特定の値か文字列を持つNICだけを表示したい

root@server01:~# ip -o a | grep "0.3"
2: eth0    inet 192.168.0.3/24 brd 192.168.60.255 scope global eth0\       valid_lft forever preferred_lft forever
  • -o-onelineの省略形

ip addressの使い方はオンラインマニュアル(man ip)やip helpで調べれば分かるけど,showなどコマンドの使い方を見つけることが出来ません

ip address helpを実行するとaddressオブジェクト(コマンドではない!)のhelpを見ることができます。しかし、その他のコマンドの使い方はオンラインマニュアルに見当たりません。でもよくよく見ると、オンラインマニュアルを見直すと冒頭にちゃんとコマンドの使い方のが記載されています。

NAME
       ip - show / manipulate routing, network devices, interfaces and tunnels

SYNOPSIS
       ip [ OPTIONS ] OBJECT { COMMAND | help }

なぜ気づきにくいのかと考えてみると、ip OBJECTのようにコマンドを省略しても実行できてしまうので、ついOBJECTの部分をコマンドと誤解してしまうのかもしれません。たとえば各NICのIPアドレスを表示させるip addressだと、addressをコマンドだと誤解し、OBJECTに続くCOMMANDの存在に気づけないという訳です。

Discussion