One of the nice things about unix is that a lot of your learning
is additive. Learning one tool usually doesn’t replace another.
Learning perl
didn’t mean I stopped using awk
for example.
The time spent into learning the various tools on unix is
therefore pretty well spent - you’ll get a lot of use from
what you’ve learned.
However I can think of two circumstance where that didn’t work out. Moving from one tool meant I no longer used the other.
The first was accidental - I worked on a system without emacs
, the
editor I’d used since university, and to build it I had to learn a lot of
vi
. In the end I found I liked vi
a fair bit and switched to using
it exclusively.
The next major change was more thought through. I’d been writing more
and more shell scripts. Up until then I had been using tcsh
as that’s
what my university accounts had been using. Eventually I switched to
zsh
. It used the same syntax as bash
but had some nice UI features
that were like what I was used to in tcsh
. Once I switched I pretty
much never used any csh
variant.
And now I’m thinking of replacing another tool I learned in university:
screen
. From what I’ve read, the code for screen
is old and flakey
and hard to maintain. Meanwhile tmux
seems to be more actively
developed. It will be hard to learn new keystrokes and config formats,
but I got almost 30 years out of screen
. That seems pretty good.