Join me as I share insights and discoveries from my journey in the world as a software engineering manager by day and tinkerer by night.
If you are like me, you have learned about Linux and the GNU tools in the Kernel 2.2 - 2.6 era. Time to level up your command line fu with modern alternatives to the old classics:
ifconfig
-> ip addr show
or ip link show
: The modern alternative to finding out your IP address and viewing your networking links.
route
-> ip route
: Here is a modern alternative to finding your networking routes. I do like the route
command’s output better because it presents a table like view (which I think is appropriate to display a routing table).
netstat
-> ss -tulwn
: See what processes are occupying a port or are having connection open etc.
iwconfig
-> iw
: Linux and wireless was always a struggle (in the early days). The iw
set of tools make this much more accessible than in the early days.
arp
-> ip neigh
: Now we are getting really low level and are looking at the ARP table of the Kernel. Like with the route
command, I do like the table-like output of the old command vs. the new one (which is probably much more easy to parse though).
Moving beyond networking, the Linux ecosystem has seen significant evolution in command-line tools across various domains. Here are some updates and modern alternatives for system and file management, monitoring, and other operations:
top
-> htop
or glances
: While top
is a classic tool for real-time system monitoring, htop
provides an improved interactive interface with more information at a glance. glances
goes further by offering a comprehensive overview of various system metrics.
ps
-> pgrep
and pkill
: For finding or signaling processes based on name and other attributes without needing to parse ps
output.
cron
-> systemd timers
: systemd
has introduced timers as a more flexible way to schedule jobs, offering better logging and integration with system services over traditional crontab entries.
SysVinit scripts
-> systemd
: The systemd
system and service manager has largely replaced SysVinit scripts for starting, stopping, and managing services and runlevels. Stop /etc/init.d
‘ing things and learn the new way already!
iptables
-> nftables
or firewalld
: nftables
provides a new framework for defining firewall rules with improved performance and simplicity. firewalld
offers a dynamic firewall management tool with support for zones and services, built on top of nftables
.
vim
/nano
-> micro
: While vim
and nano
are widely used text editors, micro
offers a modern and intuitive terminal-based interface, aiming to be easy to use and install while still being a full-featured editor, no, please do not bring up emacs
now.
grep
-> ripgrep (rg)
: ripgrep
is a line-oriented search tool that recursively searches the current directory for a regex pattern. It’s faster than grep
by skipping binary files and respecting .gitignore
files.
find
-> fd
: fd
is a simple, fast, and user-friendly alternative to find
, optimized for speed and focused on the most common use cases of finding files.
tar
/gzip
-> zstd
: While tar
combined with gzip
or bzip2
is traditional for archiving and compression, zstd
(Zstandard) offers compression with high ratios and fast decompression speeds.
screen
/tmux
-> byobu
: byobu
enhances tmux
or screen
by providing an easy-to-use interface for creating and managing multiple windows and sessions in a single terminal.
Adopting these modern tools can enhance your workflow with more efficient operations, better usability, and advanced features tailored to current computing environments.