Joe Brockmeier has two articles on Linux.com called the Sysadmin Toolbox.
My sysadmin toolbox and
My sysadmin toolbox: second helping
He lists out many good tools that sysadmins should be aware of and be familiar with. My top 10 is basically similar to his with a few changes.
vim
This is where it all begins…with a good editor that you can use on every unix box. I haven’t spent nearly enough time experimenting with vi. Unfortunately I tend to learn things until they become usable but do not take the time to become an advanced user. Nevertheless, I’m able to get things done quickly with vi and I couldn’t imagine editing a file with anything else.
curl
While I like wget, I’m a bigger fan of curl. I enjoy it’s trace option and the libcurl support for multiple languages.
screen
I’m pretty new to screen (been using it for about a year) but I find it invaluable. By far the best feature is the ability to detach/attach remote sessions. It makes it easy to take work home or vice versa. In addition, the key bindings are nice. It does take a little ramp up time to get the ideal setup.
cygwin
Isn’t cygwin for windows? Yes, I know, it’s for windows. But, as much as I can’t stand windows, I still use it at work for stuff like Yahoo Messenger, Word/Excel, or Visio. Cygwin allows me to setup an XDM session with my FreeBSD box and from there I can easily copy/paste between unix and windows. I basically leave the XDM session maximized and just pull up the few windows pieces (eg, Word) that I need.
perl
I learned Perl and decided I didn’t need Awk and Sed. With Perl I can write a program to do anything or run some quick commands right at the command line.
bash
Just an all round solid shell environment.
ssh
Nothing unusual here. But I think ssh needs to be mentioned since every sysadmin uses (or should be using) it. Plus you can run commands remotely with it.
tcpdump/ethereal
Great tool for analyzing network traffic, but I would never user tcpdump without ethereal. The benefits of ethereal are too great (like following a tcp stream) to not warrant its use.
gdb
It’s nice to get backtraces from cores or stuck processes.
lsof
I don’t use this much, but when I need it, it’s invaluable at helping me find large open files that appear deleted.
That would be my top ten list…at least that’s what I thought of tonight.