Like a lot of users, I learned ifconfig, although I don't recall whether it's because the ip command didn't exist at the time or whether it just hadn't gained traction. It took a while to get used to ip, but when I understood how much ip encompassed, I switched over to it as soon as I could find a good cheat sheet for it. I think of ip as a suite.

[Cheat sheet: Old Linux commands and their modern replacements ]

If you're using ifconfig as just a query for an IP address, then ip addr show may seem superfluous. But when you're setting network routes and adding interfaces and IP addresses, the ip command suite brings your tasks together into a unified interface. For instance, instead of using ifconfig and route, each with different syntax, you can just use ip.

For instance, here's ifconfig:

$ sudo ifconfig eth0 add 192.168.12.20
$ sudo route add default gw 192.168.12.0 eth0

Those are valid commands, but they're not very consistent from the user's perspective. The device definition is front-loaded with ifconfig and trailing with route.

Here's the same process using ip:

$ sudo ip addr add 192.168.12.20 dev eth0
$ sudo ip route add 192.168.12.0/24 dev eth0 proto static

From a user interface perspective, the ip commands have a kind of symmetry. They're practically identical, so once you train yourself to understand the syntax of one ip subcommand, you know it for all ip subcommands.

And there's a lot you can do with ip. Each subcommand has its own manual entry, so you can focus on parsing each command's options without sorting through options that don't apply.

$ man ip-route
$ man ip-address
$ man ip-link

There's nothing wrong with ifconfig, and if it's the command you know and it's the command that's working for you, then keep on using it. But if you're just now learning networking basics on Linux, focus on material that uses the ip command, and I believe you'll have an easier time comprehending the different components. Just as importantly, you'll find it easier to remember how to view and modify your network settings with one simple two-letter command: ip.

[ Download now: A system administrator's guide to IT automation. ]


关于作者

Seth Kenlon is a Linux geek, open source enthusiast, free culture advocate, and tabletop gamer. Between gigs in the film industry and the tech industry (not necessarily exclusive of one another), he likes to design games and hack on code (also not necessarily exclusive of one another).

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来