Every command in /bin and /usr/bin

I read Stiff’s questions for great programmers. One of his interviewees was Steve Yegge.

I really like Steve’s blog and his earlier “rants”. One answer he gave included:

Every programmer should learn how to use every tool in /bin and /usr/bin.

As a fairly recent convert to desktop linux that sounded like a challenge to be met. A quick

ls -1 /usr/bin | wc -l

reveals that there are 1509 commands in my /usr/bin directory. Perhaps a bit much to take on all at once. /bin contains 102. That sounds like a more manageable number.

A bit of shell script magic later:

#!/bin/sh
for CMD in `ls -1 /bin`; do
    man $CMD 2>/dev/null | head -20 | grep " - "
done

and I have this list of commands and what they do:

arch - print machine architecture
bash - GNU Bourne-Again SHell
bzcat - decompresses files to stdout
bzcmp, bzdiff - compare bzip2 compressed files
bzexe - compress executable files in place
bzgrep, bzfgrep, bzegrep - search possibly bzip2 compressed files for a
bzip2, bunzip2 - a block-sorting file compressor, v1.0.3
bzip2recover - recovers data from damaged bzip2 files
bzmore, bzless - file perusal filter for crt viewing of bzip2 com

Leave a Reply

Your email address will not be published.