For what it's worth, here is a tally of the commands I ran during a recent week. It was generated with the command
history | awk '{print $2}' | sort | uniq -c | sort -r -nThe first column is how many times I invoked the command; the second column is the name of the command. (I've added a note in parentheses after a couple commands because they are obscure or don't come with Unix.)
The commands are listed most-frequently-used first, but the data is very noisy - your milage may vary.
To use this list, start at the top, look up each command in
your Unix system's man pages, get an idea of what the command
is for and how to use it, and try it out a bit yourself.
Work down the list at your own pace, as time permits.
Hint: it's often useful to first look at
a very primitive Unix system's documentation before looking at
modern documentation,
as the primitive Unix man pages are simpler and easier to read, and sometimes give a better idea of the zen of the command.
543 ls 438 cd 349 vi 170 grep 105 more 101 rm 80 mv 77 egrep 73 ssh (see www.openssh.com) 67 find 58 ps 56 make 54 fg (see sh) 49 p4 (see www.perforce.com) 43 cat 41 man 34 cp 33 su 33 sh 30 pwd 28 perl (see www.perl.com) 27 jobs (see sh) 24 wget (see www.gnu.org/software/wget/) 24 co (see rcs) 23 mkdir 23 lynx (see lynx.browser.org) 19 tar 18 strace 14 rpm (see www.rpm.org) 14 route 14 ci (see rcs) 13 tail 13 rmdir 11 . script (see sh) 10 nslookup 10 kill 10 history (see sh) 10 exit (see sh) 9 scp (see www.openssh.com) 9 rlog (see rcs) 8 for (see sh) 8 expand 8 echo 8 date 7 wc 7 VAR=val cmd (see sh) 7 strings 7 diff 6 which 6 ping 6 java 6 ftp 6 du 5 rcsdiff (see rcs) 5 locate 4 zcat 4 traceroute 4 top 4 tidy (see web3.w3.org/People/Raggett/tidy/) 4 telnet 4 ./configure (see sources.redhat.com/autobook) 4 lpr 4 done (see sh) 4 bg (see rcs) 3 suspend (see sh) 3 javac 3 file 3 df 3 fgrep 3 chmod 2 whois 2 startx 2 reset 2 gdb 2 gcc 1 printenv 1 ln 1 javadoc 1 head 1 nm 1 uniq 1 sort 1 awk