Misplaced Pages

Command history: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 13:25, 26 April 2022 editDexxor (talk | contribs)Extended confirmed users2,594 editsm Adding short description: "Software feature" (Shortdesc helper)← Previous edit Revision as of 13:30, 26 April 2022 edit undoDexxor (talk | contribs)Extended confirmed users2,594 editsm ceNext edit →
Line 2: Line 2:
'''Command history''' is a feature in many ], ] programs, and other ] that allows the user to recall, edit and rerun previous ]. '''Command history''' is a feature in many ], ] programs, and other ] that allows the user to recall, edit and rerun previous ].


Command line history was added to ] in ]'s ] of 1978; Joy took inspiration from an earlier implementation in ].<ref> by ].</ref> It quickly became popular because it made the C shell fast and easy to use. History has since become a standard feature in other shells, including ], ] and ]'s ]. History addressed two important scenarios: Command line history was added to ] in ]'s ] of 1978; Joy took inspiration from an earlier implementation in ].<ref> by ].</ref> It quickly became popular because it made the C shell fast and easy to use. History has since become a standard feature in other shells, including ], ] and ]'s ]. History addressed two important scenarios:


# Executing the same command or a short sequence of commands over and over. An example might be a developer frequently compiling and running a program. # Executing the same command or a short sequence of commands over and over. An example might be a developer frequently compiling and running a program.
Line 11: Line 11:
:<code>!!</code> meant the entire previous command. :<code>!!</code> meant the entire previous command.
:<code>!$</code> meant just the last word of the previous command. :<code>!$</code> meant just the last word of the previous command.
:<code>!</code>''abc'' meant the command that started with ''abc''. :<code>!''abc''</code> meant the command that started with ''abc''.


The usual implementation today is to combine history with command-line editing. The cursor keys are used to navigate up and down through the history list and left or right to anyplace on the line, where the user can simply type a desired change. But some implementations are ]-based: The user presses a certain function key which displays a menu of recent commands, which the user can select one by typing a number. The usual implementation today is to combine history with command-line editing. The cursor keys are used to navigate up and down through the history list and left or right to anyplace on the line, where the user can simply type a desired change. But some implementations are ]-based: The user presses a certain function key which displays a menu of recent commands, which the user can select one by typing a number.

Revision as of 13:30, 26 April 2022

Software feature

Command history is a feature in many operating system shells, computer algebra programs, and other software that allows the user to recall, edit and rerun previous commands.

Command line history was added to Unix in Bill Joy's C shell of 1978; Joy took inspiration from an earlier implementation in Interlisp. It quickly became popular because it made the C shell fast and easy to use. History has since become a standard feature in other shells, including ksh, Bash and Microsoft's cmd.exe. History addressed two important scenarios:

  1. Executing the same command or a short sequence of commands over and over. An example might be a developer frequently compiling and running a program.
  2. Correcting mistakes or rerunning a command with only a small modification.

In Joy's original C shell, the user could refer to a previous command by typing an exclamation, !, followed by additional characters to specify a particular command, only certain words, or to edit it in some way before pasting it back into the command line. For example:

!! meant the entire previous command.
!$ meant just the last word of the previous command.
!abc meant the command that started with abc.

The usual implementation today is to combine history with command-line editing. The cursor keys are used to navigate up and down through the history list and left or right to anyplace on the line, where the user can simply type a desired change. But some implementations are menu-based: The user presses a certain function key which displays a menu of recent commands, which the user can select one by typing a number.

Some implementation such as Bash support to record command history to a file (history command).

See also

References

  1. An Introduction to the C shell by Bill Joy.
  2. "Bash programming/Bash History - Wikiversity".
  3. "Bash Reference Manual".
Category: