Chapter 30. The Use of History
The Lessons of History
It has been said that “the only thing we learn from history is that people don’t learn from history.”
Fortunately, the original maxim that “history repeats itself” is more appropriate to Unix.
Most shells include a powerful history mechanism that lets you recall and repeat past commands, potentially editing them before execution. This can be a godsend, especially when typing a long or complex command.
All that is needed to set C shell history in motion is a command like this in
your .cshrc (or .tcshrc) file,
where
n is the number of past commands that you want to
save:
set history=nIn ksh and bash, the variable is HISTSIZE, and it’s already set for you; the default values are 128 and 500, respectively.
The history command (Section 30.7) lists the saved commands, each with an identifying number. (It’s also possible to configure the shells to print the history number of each command as part of your prompt (Section 4.3).)
In
tcsh, csh, and bash, you can
repeat a past command by typing its number
(or its name) preceded by an exclamation point (!). You can also select only parts of the command to be repeated
and use various editing operators to modify it. Section 30.8 and Section 28.5 give quick tutorial
summaries of some of the wonderful things you can do. Most of the rest of the
chapter gives a miscellany of tips for using and abusing the shells’ history
mechanism.
Most shells — except the original Bourne and C shells — also have
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access