m> Does 'man bash' list all of the commands? If not, m> how do you get a list of all the commands? There is no such thing as "all the commands". What you have available as executable commands depends on what is found by your PATH variable and what is installed on your machine. This is at minimum a couple thousand files. To get some idea, do this: for i in $(echo $PATH | tr ":" " ") do ls $i done every word you see (with the exception of a few that might be directories) is an executable command in your path. Change the last line of that sequence to done | wc -w to get a count, if you're curious. In my environment the number is 4096. In addition, there are a great many more commands that are built right into your shell. Most people would say that's a few too many commands to get to know. They are right. You don't need to know more than a small fraction of those, and more than you need to know the half million or so words in the English language in order to speak English well. I will agree that the place to start is with the bash manual (assuming that's your shell). It will teach you not only the "words" (commands), but about the "grammar", the basics of the Unix way of doing things, with concepts about variables and parameters, redirection, pipes, and all that good stuff. Almost any standard reference you can find (many of them free online) will list a common set of useful commands of reasonable size. In fact ... I have attached (inline) a short list that I used as a handout to my classes in Linux/Unix at UAT last year. Keep in mind that this is a list of the ones *I* thought were important. Experts will disagree on some of the marginal commands, but if you know all of these, you will be able to go a long way: ------------------------------------------------------- Unix Esperanto -------------- The following is a list of commands that your instructor believes should be in every Unix user's basic vocabulary. Included are some commands that are not disk-based, but are internal to the shell. This list was culled out of over 4000 executable commands found in your instructor's PATH. alias (n) - substitute name for a command apropos (1) - search the whatis database for strings basename (1) - strip directory and suffix from filenames bash (1) - GNU Bourne-Again Shell cal (1) - displays a calendar case (n) - evaluate one of several choices cat (1) - concatenate files and print on the standard output cd (n) - Change working directory chgrp (1) - change group ownership chmod (1) - change file access permissions chown (1) - change file owner and group cksum (1) - checksum and count the bytes in a file clear (1) - clear the terminal screen cmp (1) - compare two files cp (1) - copy files and directories cut (1) - remove sections from each line of files date (1) - print or set the system date and time df (1) - report filesystem disk space usage diff (1) - find differences between two files dirname (1) - strip non-directory suffix from file name du (1) - estimate file space usage echo (1) - display a line of text emacs (1) - GNU project Emacs env (1) - run a program in a modified environment eval (n) - evaluate string and numeric expressions exec (n) - overlay current process exit (n) - cause normal program termination export (n) - make variables global in sub-shells fc (n) - fix command by editing it fg (n) - foreground file (1) - determine file type find (1) - search for files in a directory hierarchy for (n) - for loop ftp (1) - Internet file transfer program gawk (1) - pattern scanning and processing language gcc (1) - GNU project C and C++ Compiler (gcc - 2.96) grep (1) - print lines matching a pattern head (1) - output the first part of files help (n) - bash builtin command help history (n) - shell history host (1) - DNS lookup utility id (1) - print real and effective UIDs and GIDs if (n) - execute scripts conditionally info (1) - read Info documents jobs (n) - shell job control kill (1) - terminate a process ksh (1) - Public domain Korn shell ln (1) - make links between files login (1) - sign on lp (1) - send requests to an LPRng print service lpq (1) - spool queue examination program lpr (1) - off line print ls (1) - list directory contents man (1) - format and display the on-line manual pages md5sum (1) - compute and check MD5 message digest mkdir (1) - make directories more (1) - file perusal filter for crt viewing mv (1) - move (rename) files nohup (1) - run a command immune to hangups passwd (1) - update a user's authentication tokens(s) popd (n) - pop current directory off stack ps (1) - report process status pushd (n) - push current directory on stack pwd (1) - print name of current/working directory read (n) - read a variable from stdin return (n) - return from a function rm (1) - remove files or directories rmdir (1) - remove empty directories sed (1) - a Stream EDitor set (n) - display and set positional parameters shift (n) - move positional parameters sleep (1) - delay for a specified amount of time sort (1) - sort lines of text files ssh (1) - OpenSSH SSH client (remote login program) sum (1) - checksum and count the blocks in a file tail (1) - output the last part of files tee (1) - read from stdin and write to stdout and files telnet (1) - user interface to the TELNET protocol test (1) - check file types and compare values touch (1) - change file timestamps tr (1) - translate or delete characters type (n) - show pathnames of commands typeset (n) - declare shell variables with attributes ulimit (n) - get and set user limits umask (n) - set file creation mask unalias (n) - turn off alias(es) uname (1) - print system information uniq (1) - remove duplicate lines from a sorted file unset (n) - delete variables until (n) - execute until a condition is true vim (1) - Vi IMproved, a programmers text editor wait (n) - wait for process termination wc (1) - print the number of bytes, words, lines in files whatis (1) - search the whatis database for complete words whereis (1) - locate binary, source, man page for command which (1) - show full path of commands while (n) - execute as long as condition is true who (1) - show who is logged on whoami (1) - print effective userid whois (1) - query a whois or nicname database xargs (1) - build and execute command lines from standard input xterm (1x) - terminal emulator for X (graphical program) -- Lynn David Newton Phoenix, AZ