In computing, various shells maintain a record of the commands issued by the user during the current session. The historycommand works with the command history list. When the command is issued with no options, it prints the history list. Users can supply options and arguments to the command to manipulate the display of the history list and its entries. The operation of the history command can also be influenced by a shell's environment variables. For example, an environment variable can be set to control the number of commands to retain in the list.
History
In early versions of Unix the history command was a separateprogram. However, most shells have long included the history command as a shell built-in, so the separate program is no longer in common use.
The history command has the following syntax in bash: history history -awrn history -ps arg
tcsh
The history command has the following syntax in tcsh: history history -S|-L|-M history -c The first form prints the history event list. If n is given only the n most recentevents are printed or saved. With -h, the history list is printed without leading numbers. If -T is specified, timestamps are printed also in comment form. With -r, the order of printing is most recent first rather than oldest first. With -S, the second form saves the history list to filename. If the first word of the savehist shell variable is set to a number, at most that many lines are saved. If the second word of savehist is set to `merge', the history list is merged with the existing history file instead of replacing it and sorted by time stamp. Merging is intended for an environment like the X Window System with several shells in simultaneous use. Currently it succeeds only when the shells quit nicely one after another. With -L, the shell appends filename, which is presumably a history list saved by the -S option or the savehist mechanism, to the history list. -M is like -L, but the contents of filename are merged into the history list and sorted by timestamp. In either case, histfile is used if filename is not given and ~/.history is used if histfile is unset. `history -L' is exactly like 'source -h' except that it does not require a filename. Note that login shells do the equivalent of `history -L' on startup and, if savehist is set, `history -S' before exiting. Because only ~/.tcshrc is normally sourced before ~/.history, histfile should be set in ~/.tcshrc rather than ~/.login. If histlit is set, the first and second forms print and save the literal form of the history list. The last form clears the history list.
PowerShell
In PowerShell, history is a predefined command alias for the Get-History cmdlet. In addition, PowerShell includes the Add-History, Clear-History, Get-History, and Invoke-Historycmdlets. The *-History cmdlets serve the same purpose as the Unix-likehistory command. Get-History -Id] ] -Count] ] Add-History -InputObject] ] Clear-History -Id] ] -Count] ] Clear-History -Count] ] >] Invoke-History -Id] ]