One of the nice things about unix is that a lot of your learning
is additive. Learning one tool usually doesn’t replace another.
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
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
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
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.