Sometimes it's best to learn the lowest common denominator tool
Posted by: Mark Bools on 2019-01-31 It’s almost irresistible. A new tool to learn, the promise of a ‘better way’ to work. But, perhaps it’s worth learning older, more mature, skills too. More established tools tend to be, well, more established. You’re more likely to find these time tested tools available on your system where newer tools will often require installing—and one thing enterprise computing environments resist is installing software because every new piece of software installed on a system increases its attack surface, adds potential for conflicting libraries etc., and potentially adds overhead into the system. More mature tools have survived rigorous in-the-field testing, often over many years. They’re still around for a reason! Consider Linux networking. Most of use are familiar with Similarly, it is worth learning Here are a randomly selected handful of tools I find useful on an almost daily basis. Shell scripting ( Combine these four tools for a powerhouse of text processing! Network analysis basics: There are many, many more—too many to list individually—but my point stands, there are many tools that people see as ‘old’ that still serve magnificently, especially for those of us working at the command line.
iptables
, it’s almost unavoidable when dealing with Linux firewalls, network QoS issues, or simply NAT on a gateway router. Yet iptables
is ‘old’ technology. For 5 years now the new kid on the block has been nftables
and yet a quick survey of ServerOverflow will reveal that the majority of admins continue to use iptables
. So, even if you learn nftables
(and you should) it is still worthwhile learning iptables
even if only so that you can translate answers given online into nftables
format.vi
because no matter with *nix system you use it is likely vi
will be present. (Actually, I’d advocate learning the ‘modern’ vim
but with one eye on which features are vi
specific—vim
is sufficiently ubiquitous that it’s almost as common as vi
nowadays.)
bash
is a personal favourite that is commonly available on *nix systems, Windows PowerShell if you ever go near a Windows environment.) Sure, python
or even perl
are better languages, but shell script will pretty much always be available whereas higer-order languages may well not be installed on your machine(s).
grep
—multi-purpose regular expression filterfind
—for searching your file systemsed
—the stream editor. Invaluable in numerous situations.awk
—text processing. Another invaluable command line tool.
netstat
—an oldie but a goodie (route
is another older tool you might need. More modern systems will have ip
tools (iproute2
) installed, but netstat
is still (probably) more common.nslookup
—(dig
is a better tool, but nslookup
hangs on in there)tcpdump
—almost any network analysis will benefit from knowling tcpdump
!iptables
—you’re almost always going to need this! (Again, nftables
is to be preferred nowadays, but iptables
remains king in terms of popularity/availability.)