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