Bash history

title: Bash History


history with no arguments prints a chronological list of command line input to standard out, each preceded with a sequential numerical identifier.

You can pass a single numerical argument, e.g. history 10, which will show only the last n commands.

! is known as the history expansion. It enables selection of specific historical commands. For example, !5 will reproduce the fifth command from the beginning.
! can be followed with a string as well, e.g. !cd. This will reproduce the last command beginning with that string.

A common use case for history is to recall and repeat a previous used sequence of commands (workflow). This process can be made more convenient by redirecting the output of history to the grep command using a | (pipe). (In it’s simplest usage, grep takes a single string argument and filters out lines of the command’s input that do not contain the string.) For example, history | grep cd will output a list of all uses of the cd command (plus any other command that happened to include that string).

More information

This article needs improvement. You can help improve this article. You can also write similar articles and help the community.