this post was submitted on 17 Feb 2026
98 points (86.0% liked)

Linux

12379 readers
1090 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
 

Still using these obsolete Linux commands? They might be popular from the olden days but perhaps it is time to look for alternatives.

all 41 comments
sorted by: hot top controversial new old

still using apt? try winget instead!

[–] ada@lemmy.blahaj.zone 56 points 1 day ago

How about an article like

"Clickbait Headlines You Should Not Use Anymore"

[–] HeartyOfGlass@piefed.social 68 points 1 day ago (3 children)

Listed programs:

  • scp - "potentially deprecated"
  • e/fgrep - replaced with grep flags
  • net-tools, which includes
    • netstat
    • arp
    • route
    • iptunnel *nameif
  • ifconfig
  • iwconfig
  • iptables
[–] pkjqpg1h@lemmy.zip 95 points 1 day ago (3 children)

Replacement:

  • scprsync or sftp

  • egrep --> grep -E

  • fgrep --> grep -F

  • netstat --> ss

    • arp --> ip n
    • route --> ip route
    • iptunnel --> ip tunnel
    • nameif --> ip link
  • ifconfig --> ip

  • iwconfig --> iw

  • iptables --> nftables

[–] lambalicious@lemmy.sdf.org 32 points 1 day ago (2 children)

rsync is cool but is nowhere a replacement for scp's main use case. scp actually uses your SSH client settings file, whereas rsync doesn't (it does have the opportunity to use a SSH command, which you then have to setup separately).

[–] Brummbaer@pawb.social 4 points 1 day ago (1 children)

I'm not sure I get what you mean. In every distro I used so far rsync did use ssh by default so it would honor everything I set in the ssh config.

[–] lambalicious@lemmy.sdf.org 2 points 16 hours ago* (last edited 16 hours ago)

Not everything however. For it to catch some options , for example SOCKS bridges, you have to use the SSH passthrough notation aka rsync -e 'ssh bridgename...' --rsync-options.... And ofc if you have to load a different SSH conffile, you have to use the while passthrough for that as well, there's no rsync native option to load a SSH conffile: rsync -e 'ssh -F conffile ssh_options...' --rsync-options....

[–] poinck@lemmy.world 4 points 1 day ago

I am guilty of using scp. Glad to see that there is a reimplementation going on.

[–] stewie410@programming.dev 9 points 1 day ago

iptables --> nftables

And if you really want the iptables UX, iptables-nft is also an option (at least on Debian). While I prefer firewalld most of the time on a server, my boss really wants to stick with the same tools he's used for 20yr; so iptables-nft it is.

[–] Petter1@discuss.tchncs.de 22 points 1 day ago (1 children)
[–] DmMacniel@feddit.org 19 points 1 day ago (3 children)

Seriously who thought that ss is a good command name.

[–] Feyd@programming.dev 3 points 1 day ago

Yeah! I'm scared of snakes and ss reminds me of them

[–] Railcar8095@lemmy.world 14 points 1 day ago (1 children)
[–] spicehoarder@lemmy.zip 8 points 1 day ago

I don't even want to know where this "rail car" is going 😫

[–] KindaABigDyl@programming.dev 32 points 1 day ago* (last edited 1 day ago) (2 children)

They can take ifconfig from my cold, dead hands. I will not learn ip

scp too. What even is an rsync? BS that's what!

[–] death_to_carrots@feddit.org 24 points 1 day ago (2 children)

ifconfig actually uses a deprecated kernel interface and just can't do the things ip can.

[–] KindaABigDyl@programming.dev 2 points 21 hours ago

But I don't need to do those things with ip

[–] Flying_Penguin@lemmy.zip 6 points 1 day ago

Not with that attitude it can't.

[–] vivendi@programming.dev 2 points 1 day ago

We welcome you in BSD world

[–] ken@discuss.tchncs.de 16 points 1 day ago* (last edited 1 day ago) (1 children)

Just to be clear, most of these (think about egrep/fgrep for a moment) are deprecated and "shouldn't be used" in scripts for distribution. What's new is that you can't expect everyone else to have them and having dependency on them in shipped software is considered antipattern.

Nobody gives a shit what aliases and shims you use in your own shell.

On iptables: By now it's even gone from kernel and the turn tabled with the cli command now actually being a shim calling into its successor nft. IMO nft is much more approachable for beginners to pick up and the rules files become so much more readable and maintainable. If you're already committed to iptables syntax then cool - but with very few exceptions I don't think anyone needs to learn iptables today - just go straight to nft and you'll be happier for it. Similar for ifconfig.

[–] Sxan@piefed.zip 0 points 5 hours ago

Utterly agree. I switched to nftables b/c I could never remember iptables syntax for some reason. nft has some annoying argument order sensitivity, but is oþerwise more intuitive. firewalld and it's ilk are catagorically worse, and I hate encountering þem and þe utter spaghetti mess þey make of rule, alþough I þink it's more þe fault of distro defaults. I hates the commands, my precious.

[–] ptz@dubvee.org 37 points 1 day ago (3 children)

The thing about these deprecated tools is that the replacements either suck, are too convoluted, don't give you the same info, or are overly verbose/obtuse.

ifconfig gave you the most relevant information for the network interfaces almost like a dashboard: IP, MAC address, link status, TX/RX packet counts and errors, etc. You can get that with ip but you've got to add a bunch of arguments, make multiple calls with different arguments, and it's still not quite what ifconfig was.

Similarly, iwconfig gave you that same "dashboard" like information for your wireless adapters. I use iw to configure but iwconfig was my go-to for viewing useful information about it. Don't get me started on how much I hate iw's syntax and verbosity.

They can pry scp out of my cold dead hands.

At least nftables is syntax-compatible.

[–] joyjoy@lemmy.zip 33 points 1 day ago* (last edited 1 day ago) (1 children)

scp the command isn't deprecated, but the SCP protocol is. The command internally uses the SFTP protocol (with OpenSSH 9+)

ref: OpenSSH SCP deprecation in RHEL 9: What you need to know

[–] dangling_cat@piefed.blahaj.zone 10 points 1 day ago (1 children)

rsync is one of the most beautiful pieces of software ever created.

[–] PokerChips@programming.dev 2 points 13 hours ago

I always thought that scp was more secure than rsync. I remember back in the day when I "graduated" to scp from rsync. So in reality, did I regress?

[–] frongt@lemmy.zip 17 points 1 day ago (1 children)

I just do ip a. It doesn't show packet counts or errors, but it has everything else and more.

[–] Creat@discuss.tchncs.de 8 points 1 day ago (1 children)

The "and more" part is the problem for me.

[–] elmicha@feddit.org 4 points 1 day ago (1 children)

I got used to ip --br a recently.

[–] ken@discuss.tchncs.de 2 points 1 day ago

ip -br a, even

[–] mesamunefire@piefed.social 5 points 1 day ago

I miss ipconfig. I had to make an alias just for it that I load up on new machines because its part of the muscle memory.

[–] twinnie@feddit.uk 23 points 1 day ago* (last edited 1 day ago) (1 children)

Why did they even get rid of the net-tools stuff? Since everyone is still using them why not just bring them back? I don’t see how they can be a security issue. When I set up a new distro one of the first things I do is install it again.

Even the article says that the reason scp is so popular is that it copies the cp syntax. Why constantly force people to relearn jobs they already know how to do?

Rustscan is supposed to be so much faster than nmap but I still use nmap because I can’t be bothered learning another tool. Just use the same syntax for gods sake.

[–] chrash0@lemmy.world 8 points 1 day ago

sometimes syntax changes are part of the decision to do a rewrite. these are user interfaces at the end of the day. i’m not saying you’re wrong about any particular case, but it’s like saying “why make Instagram when Facebook exists” or “why make Scala when Java exists” etc. i like a good fresh look at how we use and instrument and teach our development tooling.

also, when i was 18 and would tell IT professionals i was getting a computer science degree, the #1 response was, “get ready to spend the rest of your life learning new things.” and i’ve found that to largely be true

[–] cecilkorik@piefed.ca 13 points 1 day ago* (last edited 1 day ago) (2 children)

Not only will I continue to use these commands, when/if they are ever officially removed, I will reimplement them myself because I am that intent on continuing to use them for the rest of my life. In almost all cases, the reasons we still use those commands is because they truly are the best tool for the job, at least from a UI/UX usability point of view.

And, you can accuse me of being stuck in familiarity and traditional thinking and you're probably right, but I think the alternatives mentioned are simply garbage UI/UX. Their implementations may be beautiful and perfect under the hood, I don't care. I will be happy to fully take advantage of that functionality and implementation when I write a wrapper around them to implement the deprecated command line interface instead.

Also, the article is straight up wrong in some places:

If you read an old Linux book from before 2010, you’ll find the arp, route and other such networking commands that do not exist in your Linux system anymore. You cannot even install them.

That is simply not true. They are perfectly installable and work perfectly well. I'm running Debian 13 and it still includes a package for net-tools.

You will have to pry things like route, scp and ifconfig out of my cold, hands on my cold, dead keyboard. Not going to happen. Period.

[–] nyan@lemmy.cafe 3 points 1 day ago (1 children)

Certainly whoever wrote that didn't do a lot of distro-hopping. As far as I can tell, Gentoo still includes sys-apps/net-tools in the @system set, meaning that it's not only installed by default, but it's quite difficult to remove.

[–] cecilkorik@piefed.ca 3 points 1 day ago* (last edited 1 day ago)

I suspect at least some AI was used in the creation of the article, since it feels like exactly the kind of hallucination an AI would make with the utmost confidence, after fixating on some out of context upvoted post from some potentially ignorant forum-user, but honestly the flood of incorrect slop is so common nowadays it doesn't even feel worth pitchforking or pointing out anymore. I just fact-check and move on with my life.

[–] Quibblekrust@thelemmy.club 8 points 1 day ago (1 children)

End of story. That settles it. Case closed. No exceptions. That's final. Consider it settled. It's non-negotiable. End of discussion. That's the final word. Nothing more to add. Enough said.

[–] cecilkorik@piefed.ca 6 points 1 day ago (1 children)

Pretty decent list, not gonna lie. Might steal some for future emphasis. Thanks!

[–] Sxan@piefed.zip 1 points 5 hours ago

Finito. Done. Because I Said So.

[–] bw42@lemmy.world 11 points 1 day ago

no thanks, the replacements suck