It does not take long before the thought of typing the same command over
and over becomes unappealing, at best. One minor
typing error can ruin lines of a command.
One solution is to use the command line history. By scrolling with the
[Up Arrow] and [Down Arrow] keys, you can find plenty of your previously typed
commands.
Try it by taking a look again at sneakers.txt
(created in the Section called Using Redirection. The first time,
however, at the shell prompt, type:
Nothing happens, of course, because there is no
sneakrs.txt file. No problem. We will just use the
up-arrow key to bring back the command, then use the left-arrow key to
get to the point where we missed the "e." Insert the letter and press
[Enter] again.
We now see the contents of sneakers.txt.
By default, up to 500 commands can be stored in the
bash command line history file.
 | Tip |
|---|
| | By typing the env command at a shell prompt, we
can see the environment variable that controls the size of the command
line history. The line which reads,
HISTFILESIZE=500 shows the number of
commands that bash will store.
|
The command line history is actually kept in a file, called
.bash_history in our login directory. We can read
it in a number of ways: by using pico,
cat, less,
more, and others.
Be aware that the file can be long. To read it with the
more command, from your home directory type:
To move forward a screen, press [Space]; to move back a
screen, press [b]; to quit, press [q].
 | Tip |
|---|
| | To find a command in your history file without having to keep
hitting the arrow keys or page through the history file, use
grep, a powerful search utility (see the Section called The grep Command. Here is how you can quickly find a
previously used command: say you are searching for a command
that is similar to cat
sneak-something. You have used the command and you think it
might be in your history file. At the shell prompt, type:
|
Another time-saving tool is known as command completion. If you type
part of a file, command, or pathname and then press the
[Tab] key, bash will present
you with either the remaining portion of the file/path, or a beep (if
sound is enabled on your system). If
you get a beep, just press [Tab] again to obtain a list
of the files/paths that match what has been typed so far.
For example, if you forget the command updatedb, but
remember a portion of the command, you can su to
root, then at the shell prompt, type up, press the
[Tab] key twice and you will see a list of possible
completions, including updatedb and
uptime. By typing the partial command
upd and pressing [Tab] again, your
command is completed for you.