On Tue, May 08, 2018 at 11:31:37AM -0500, Michael Parson wrote:
Going beyond 'cat -v considered harmful',
things like ifconfig, route, and
netstat being considered 'deprecated' and replaced with the 'ip'
tool.
For better or worse, *networking* has gotten much more complicated.
So there are many more ways of specfying a routing rule than just a IP
subnet, a mask, and a weight. After a while, trying to add new
functionality to old interface just simply gets too hard.
Again, what's the solution? You can deny the legitimacy of the new
features, and the requirements that caused those new featuers to be
designed and implemented. Or you can accept that there's going to be
a new interface that is designed to be more extensible, and the old
interfaces will be maintained for backwards compatibility --- but if
you want to do something fancy, you'll need to use the new interfaces.
I still often used ifconfig myself, truth be told. But there are
times when I will use the new interfaces, because I need to use the
new features.
As far as the question of using a multiplexed command --- e.g., "ip
route" versus "route", "ip link" versus ifconfig, that's
really more
of a sylistic change to me. "ip route" is a command line tool. The
fact that there is a space in it doesn't offend me. In fact, that
someone has attempted to design some level of user interface
consistency between "ip route" and "ip link" and "ip tunnel"
is
actually something I consider to be a feature, and the fact that there
is single command, "ip", makes discovery of all of the types of
network configuration that one might want to do much easier.
This style of interface --- also used with "git", "hg", and many
others, is arguably nicer in terms of avoiding polluting the command
line namespace than the old MH approach of appropriating separate
commands, "show", "reply", "next", "prev",
"reply", etc.
- Ted