Most system administrators grew up with the classic Unix tools. If you’re under 30, chances are you grew up with the GNU versions of them. Everyone’s seen the lists of Unix tools you should be using if you aren’t already (ie if you aren’t using screen, you’re not paying attention. This list is different, it’s of clones of the classic Unix tools that improve them in some way.
Grep results are often slowed by searching version control files. Ack increases search speed by eliminating those files from search. It also has preliminarily support for searching for only certain types of files, making your file search still faster. ack is written in Perl so it’s largely cross platform and has a more complete (ala Perl) regular expression engine. In short time I’ve trained my hands to type ack instead of grep. As the author says, it’ll save you 25% of your time right there.
htop is an improved eye candy version of top. Its biggest features are its LED-like bar for CPU/Memory usage and its color coded process table output. htop looks noisy after some time you quickly see htops benefits in being able to separate out information visually. htop is currently only available on GNU/Linux but the authors have discussed possibly porting it to other platforms.
This replacement for the classic pagers (more and less), has several advantages over its cousins, including showing the file process in percentage and being able to scroll horizontally as well as vertically without line wrapping the input.
Nano is a clone of the popular text editor pico, but unlike its predecessor, nano has many configuration options and even supports syntax highlighting and other features usually only found in more complex editors like vim and emacs. nano retains pico’s small size and will fit on many small computers including embedded systems. If you don’t like vi and need a small editor, nano can more than do the job.
Many of us learned email on the classic unix mailer “pine”. Sadly pine has had a soiled reputation both for its poor security and its licensing issues. alpine is an effort by University of Washington (the makers of the original pine) to solve both these problems and retain pine’s ease of use. If you haven’t already moved on to another mailer like mutt, alpine should be your next logical move.
Fish shell is an attempt to move away from the problems we typically have in shells into something more. Not only does fish support coloring, automatic indentation, increased help and automatic escaping of control characters, integrated help, but it’s just plain easier to use. Unfortunately if you’re in an environment with scripts that assume you’re using a standard posix shell, fish won’t work for you as it breaks posix compatibility in order to make the shell environment easier to use. Fish is still a very sexy project.
Honorable Mentions
Honorable mentions not included in the list above include anacron, sing, gnupg, aspell, and sdd.
March 9, 2008 at 3:55 pm
“Sordid reputation”
March 9, 2008 at 3:57 pm
“it’s just pain easier to use”
March 9, 2008 at 4:01 pm
Interesting list! Thanks for putting it together.
You might have meant “sordid reputation” up there for pine, but I’m not sure that’s the right use of “sordid.” Maybe “blemished reputation” or some such?
March 9, 2008 at 4:08 pm
I meant soiled. Thanks for pointing that out.
March 9, 2008 at 4:56 pm
As a rule, I dont use Perl-based shite, so Ack is off the table right off the bat. Anything that eliminates the usage of probably the worst programming language ever conceived is a good step forward in my book. The rest are good! Been using htop for a while. You might want to take a look at z-shell (zsh) it has a lot of similar functionality to fish but still provides a bash scripting environment.
March 9, 2008 at 5:32 pm
Kris,
You’re the second person to recommend looking at zsh. I’ll have to give it another look. The last time I looked at it, the biggest feature it has was command completion and since then Bash has integrated a similar feature (even if it’s not complete).
I don’t actually use Fish but I give it credit for trying something radically new.
As for Perl, I largely agree. I don’t like it much myself but we have to admit that it’s largely the lingua franca of the system administration world- hopefully that’s changing though.
Thanks for the feedback!
March 9, 2008 at 5:53 pm
“…showing the file process in percentage and being able to scroll horizontally as well as vertically without line wrapping the input.”
Doesn’t less do both those things?
March 9, 2008 at 6:34 pm
[...] [view original post] Previously – Muscle Boy (thug workout^^) Next – [...]
March 9, 2008 at 7:05 pm
git has a “grep” subcommand (git grep) that seems to have some resemblance to ack,
because it greps only through files under git’s control (which are usually the ones you
care for when programming).
It’s quite fast and useful, and a killer feature is being able to grep through the code
as it was in an arbitrary revision without the need to do a checkout.
March 9, 2008 at 8:27 pm
I hope fish continues.
It is a role model about trying to be user friendly.
Maybe we will even find something like cuiterm – but wish fish :)
March 9, 2008 at 9:51 pm
[...] is a nice piece, Sexy clones of classic Unix tools. Even if you are happy with top (display Linux tasks) just give htop a try and be [...]
March 9, 2008 at 10:07 pm
And the unmissable dog, which is better than cat.
March 10, 2008 at 12:50 am
ack sounds like my findrepo:
http://www.pixelbeat.org/scripts/findrepo
htop is cool thanks!
Much more sensible detauls than `top`
March 10, 2008 at 2:18 am
[...] Sexy clones of classic Unix tools « Down Not Across (tags: linux tools unix shell sysadmin software opensource review) [...]
March 10, 2008 at 3:34 am
I downloaded ack today and played with it a bit and I agree it freaking rocks. Now I have to train myself to type ack instead of grep everytime.
March 10, 2008 at 4:07 am
I have been using fish shell for a while now and will recommend it.
March 10, 2008 at 4:26 am
> The last time I looked at it, the biggest feature it has was command completion
Oh… no way. The biggest feature is the built-in glob enhancers. “find”, in your shell!
bash> find . \( -name ‘*.foo’ -o -name ‘*.bar’ \) -type f -print | xargs bleh # ??? no way!
zsh> bleh **/*.{foo,bar}(.)
March 10, 2008 at 12:20 pm
ack — how about utilizing .bashrc
alias sgrep=”egrep –exclude=\*.svn\* -r -n “
March 10, 2008 at 12:24 pm
What about vipe, pee, sponge, combine, ts, vidir, and others found in the moreutils package?. I just recently discovered these nifty utilities, finding that I’ve wanted some of them for years, but wasn’t clever enough to actually write any of them except combine.
March 12, 2008 at 12:53 pm
Sexy??? I don’t understand the use of the adjective “sexy” to describe applications? I can’t wait to try out these new applications because they are sooo sexy.
March 12, 2008 at 4:18 pm
nato, Pádraig Brady: Excluding .svn directories is only part of what Ack does. Its output is also better and you can select on filetype, not just extensions.
kris: It’s sad to see you tar everything written in Perl as shite. If you didn’t look inside, you wouldn’t know it was Perl. There’s a Ruby clone of ack called rak, but it’s not nearly as featureful or polished.
Rob Olson: I’m glad you dig it. Check out the ack-users mailing list and help contribute to its rockingness.
March 14, 2008 at 10:55 am
CPAN (Perl repository) has clone of many Unix utils called “ppt”. I frequently use diff/patch from ppt.
March 15, 2008 at 4:38 am
most doesn’t search with regular expression …