※ serverfault(システム管理者用のQ&Aサイト)の質問とそれに対する回答やコメントをまとめた記事です。
古い話ですが、未だにifconfigを使っているのと、海外のエンジニアたちの会話が少し面白かったのでまとめました。
ifconfigってもう使っちゃいけないんですか?
質問
Infinibandを搭載したサーバでifconfigコマンドを実行したところ、以下のような警告が出力されました。
Ifconfig uses the ioctl access method to get the full address 
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes 
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.
和訳:ifconfigはioctl accessメソッドを使ってアドレスを取得しているため、20バイトあるInfinibandアドレスの始めの8バイトしかとれません。ifconfigは古いので、ipを使ってください
これはつまりifconfigを使うのはやめておけってことですか?いずれipコマンドに完全に塗り変えられるのでしょうか?それとも、近々ifconfigも更新されるんでしょうか?
反応
- 早く切り替えた方がいい。俺は指を
ifconfigからipに慣らすのに何ヶ月もかかった。 - 
ifconfigが非推奨だって?俺は今まで洞穴で暮らしてたのか。 - 非推奨なのはLinuxだけだよ。FreeBSDではそんな警告見たことない。
 - コマンド名が
ipなのにリンク層の機能も持ってるって面白いな。 
回答1(ベストアンサー)
Thomas Pircherのウェブサイトを引用させてもらいます(cc-by-sa):
/bin/ipコマンドはもう何年も前から存在しているにもかかわらず、皆未だに/sbin/ifconfigを使いたがります。そのため、ifconfigがすぐ使えなくなるということはないと思われます。ただしipの方がはるかにパワフルで、いずれは置き換えられるでしょう。
ここでは新機能の紹介はせずにifconfigとシンタックスを比べてみます。
各種インタフェースと設定の表示
ifconfig
ip addr show
ip link show
インタフェースの起動
ifconfig eth0 up
ip link set eth0 up
インタフェースの停止
ifconfig eth0 down
ip link set eth0 down
反応
- どの例でも
ipコマンドの方が長くて複雑じゃないか。それが皆ifconfigを使いたがる理由なんじゃないかな。 - 
ipの方が機能が豊富なんだからコマンドが複雑になるのは当たり前じゃないか。それにip addr showはip aに省略できる。 - 一つ皆に覚えておいてほしいのは、この世の何もかもがLinuxではないってことだ。SolarisもAIXも、HP-UXやBSD、SCOだって
ifconfigを使ってる。Linux管理者じゃなくてUnix管理者になりたいのなら、ifconfigは知っておくべきだ。 
回答2
その通り。ipconfigはLinuxではiproute2(ipコマンドの正式名)に取って代わられるため、非推奨となっています。
同様に、arp、route、netstatも非推奨です。
ただし、iproute2はLinux固有のコマンドで、他のUnixはifconfigを使うので注意が必要です。
Why ifconfig sucks [英語]
↑ここによると、ifconfigは10年以上メンテナンスされていません。
反応
- 
ifconfigはもともとBSDが開発したもので、Linuxは基本的にBSDのIPスタックを使っていたからな(余談だがこれはWindowsも同じ。ipconfigとifconfigが似てるのはこの歴史があるためだ)。Linuxカーネル2.4くらいからBSDのスタックから離れていったけど、これが2001年の始めだったから、Linuxのifconfigがそれ以来メンテナンスされていないのはしょうがない。 - 10年!?Githubで「ifconfigを守れ」プロジェクトを立ち上げるべきだ。
 
所感
3年前の記事ですが、やっぱりまだifconfig派が多いようですね。
自分も基本的にMacなのでipに乗り換えるのは難しそうですが、brewで入れられるらしいし、試してみてもいいかもしれません。
やっぱり世界のエンジニア達の会話はなんだかんだ勉強になります。
参考 [英語]
serverfault - Should I quit using Ifconfig?
ip command in Mac OS X terminal