You can use completion on commands too. For instance, if you type:
$ ema
and press the Tab key, the shell will add the cs to make emacs (unless some other command in your path begins with ema).
What if there are multiple files that match what you've typed? If
they all start with the same characters, the shell completes the word
up to the point where names differ. Beyond that, most shells
do nothing. bash has a neat enhancement: if you
press the Tab key twice, it displays all the possible completions.
For instance, if you enter:
$ cd /usr/l
and press the Tab key twice, bash prints something like:
lib local