Follow ZDNET: Add us as a preferred source on Google.
ZDNET’s key takeaways
- Some Linux commands are no longer in use.
- These commands may still be available, but it’s best to avoid them.
- Each of these commands has a newer replacement.
Over the decades that I’ve been using Linux, I’ve seen distributions and apps come and go. That should be no surprise to anyone.
However, I’ve also experienced commands come and go, which might seem a bit strange at first. However, when you understand why some commands get deprecated, it makes sense.
Also: My 5 favorite distros of Linux past – and why I’m still thinking about them
Commands are deprecated for the following reasons:
- Security vulnerabilities
- A lack of ongoing maintenance
- The availability of newer, more feature-rich alternatives
Sure, you might have used command X for 20 years, but command Y does the same thing, does it more efficiently, and is more secure.
There are always reasons.
Also: 7 Linux commands I can’t live without after 20 years in the terminal
What are some of the commands that have been deprecated? Let’s take a look.
ifconfig (use ip instead)
Of all the deprecated commands, this is probably the most significant one. During my earlier years of using Linux, ifconfig was an absolute must. With this command, you could not only gather information about network connections (such as network device name, IP address, gateway, and more), but you could also configure networking.
The reason ifconfig went away was that the net-tools app was deprecated. Because ifconfig was a part of net-tools, it went bye-bye as well.
Also: I’m a command-line pro and this is the best terminal app I’ve ever used, thanks to AI
In ifconfig’s place is the ip command, which can do everything ifconfig could do.
Keep in mind that ifconfig is probably still on your Linux distribution. I wouldn’t recommend using it, because it’s no longer under development.
iwconfig (use iw instead)
The iwconfig command is to wireless connections what ifconfig is to wired. Iwconfig was deprecated because the Wireless Extensions (WXT) kernel interface it required had become outdated and limited. WXT was replaced with the nl80211 interface, thus making the iw command the new standard.
The iw command provides better support for modern wireless technologies, including Wi-Fi 6.
scp (use rsync instead)
The scp command was used to securely copy files from one machine to another, via the SSH protocol. However, the scp command was deprecated because it’s old, hasn’t been updated for some time, and because of security vulnerabilities.
Most modern Linux distributions have switched over to the more secure SFTP protocol, but the version of Linux you are using probably still includes scp. I would not use scp now, mostly because of the security issues it poses. In addition to SFTP, you can also use rsync for transferring files.
egrep/fgrep (use grep instead)
The grep command is very useful. In fact, I would call grep a must-know command. At one point, egrep and fgrep were created to extend the feature set of grep. Egrep added extended regex, and fgrep worked on fixed strings.
Also: 5 Linux commands for quickly finding the system information you need to know
Some considered those commands a must; however, both of those functionalities were eventually added to grep, making them redundant. Because of that, neither egrep nor fgrep is maintained, so don’t use them.
netstat (use ss instead)
The netstat command was used for displaying active network connections, routing tables, and interface statistics.
This command was deprecated because the net-tools package was no longer actively maintained. Eventually, netstat was replaced by the iproute2 suite of tools, which are more efficient, offer better integration with the Linux kernel, and provide more detail than netstat.
In place of netstat is the ss command, which is faster than netstat and offers more detailed information.
route (use ip instead)
The route command was used to view or manipulate the IP routing table. Route was another victim of the net-tools loss. The big issue with route was that it offered limited functionality, poor handling of IPv6/complex setups, and included security issues.
In place of route, we have the ip route command.
arp (use ip neighbor instead)
The arp command was used to manage the Address Resolution Protocol cache. Guess why arp went away? If you guessed net-tools, you are correct.
The replacement for route is ip neighbor (or just ip neigh), which is superior to arp because it’s more efficient, integrated, and robust. This command also provides more advanced features, such as Neighbor Unreachability Detection, which offers faster failure detection.
Also: Two tricks that make using the Linux command line a lot easier
You might still find these commands on your Linux distribution. If you do, make sure you check to see if their replacements are available. If you find a replacement that is not on your system, make sure to get it installed and start using the newer option.