En informática , varios shells mantienen un registro de los comandos emitidos por el usuario durante la sesión actual . El history
comando funciona con la lista del historial de comandos . Cuando el comando se emite sin opciones, imprime la lista del historial. Los usuarios pueden proporcionar opciones y argumentos al comando para manipular la visualización de la lista del historial y sus entradas. El funcionamiento del comando history también puede verse influenciado por las variables de entorno de un shell . Por ejemplo, se puede configurar una variable de entorno para controlar el número de comandos que se deben retener en la lista. [1]
Desarrollador (es) | Varios desarrolladores comerciales y de código abierto |
---|---|
Sistema operativo | Unix , similar a Unix , PTS-DOS , Windows , ReactOS , KolibriOS |
Tipo | Mando |
Historia
En las primeras versiones de Unix, el comando history era un programa separado . Sin embargo, la mayoría de los shells han incluido durante mucho tiempo el comando history como un shell incorporado , por lo que el programa separado ya no es de uso común.
Implementaciones
El comando está disponible en varios shells de Unix , así como en PowerShell , ReactOS , [2] y KolibriOS . [3] También se incluye como comando externo en PTS-DOS donde guarda una parte residente, a veces en la memoria convencional. [4]
Dado que la mayoría de los comandos de historial actuales están integrados en el shell, los detalles dependen de la elección del shell .
intento
El history
comando tiene la siguiente sintaxis en bash : [5]
historial [-c] [-d desplazamiento] [n] historial -awrn [nombre de archivo] historial -ps arg [arg ...]
tcsh
El history
comando tiene la siguiente sintaxis en tcsh :
historia [ -hTr ] [n]historia -S | -L | -M [nombre de archivo] (+)historia -c (+)
El primer formulario imprime la lista de eventos históricos. Si se da n, solo se imprimen o guardan los n eventos más recientes. Con -h , la lista del historial se imprime sin números iniciales. Si se especifica -T , las marcas de tiempo se imprimen también en forma de comentario . (Esto se puede usar para producir archivos adecuados para cargar con 'history -L' o 'source -h'). Con -r, el orden de impresión es el más reciente primero en lugar del más antiguo primero.
Con -S , el segundo formulario guarda la lista del historial en el nombre de archivo. Si la primera palabra de la variable de shell savehist se establece en un número, se guardan como máximo esa cantidad de líneas. Si la segunda palabra de savehist está configurada para ' fusionar ', la lista de historial se fusiona con el archivo de historial existente en lugar de reemplazarlo (si hay uno) y se ordena por sello de tiempo. (+) La fusión está pensada para un entorno como el sistema X Window con varias carcasas en uso simultáneo. Actualmente, solo tiene éxito cuando los proyectiles dejan de funcionar bien uno tras otro.
Con -L , el shell agrega el nombre de archivo, que presumiblemente es una lista de historial guardada por la opción -S o el mecanismo savehist, a la lista de historial. -M es como -L, pero el contenido del nombre de archivo se fusiona en la lista del historial y se ordena por marca de tiempo . En cualquier caso, histfile se usa si no se proporciona el nombre del archivo y ~ / .history se usa si histfile no está configurado. `history -L 'es exactamente como' source -h 'excepto que no requiere un nombre de archivo.
Tenga en cuenta que los shells de inicio de sesión hacen el equivalente de `history -L 'al inicio y, si savehist está configurado,` history -S' antes de salir. Debido a que solo ~ / .tcshrc normalmente se obtiene antes de ~ / .history, el archivo hist debe establecerse en ~ / .tcshrc en lugar de ~ / .login.
Si se establece histlit, la primera y la segunda forma imprimen y guardan la forma literal (sin expandir) de la lista del historial.
El último formulario borra la lista del historial.
Potencia Shell
En PowerShell , el historial es un alias de comando predefinido para el Get-History
cmdlet . Además, PowerShell incluye los Add-History
, Clear-History
, Get-History
, y Invoke-History
cmdlets. Los *-History
cmdlets tienen el mismo propósito que el comando similar a Unix history
.
Get-History [[-Id]] [[-Count] Agregar historial [[-InputObject]] [ ] ] [-Passthru] [ Borrar historial [[-Id]] ] [[-Count] Clear-History [[-Count]] [-Newest] [-Confirm] [-WhatIf] [ ] ] [-CommandLine Historial de invocación [[-Id]] [-Newest] [-Confirm] [-WhatIf] [ ] ] [-Confirm] [-WhatIf] [ ]
Símbolo del sistema de ReactOS
El history
comando del símbolo del sistema de ReactOS actualmente solo admite la impresión de la lista del historial.
Ver también
Referencias
- ^ "Uso de" Historial "para repetir comandos" . Universidad de Washington . Consultado el 25 de julio de 2013 .
- ^ https://github.com/reactos/reactos/blob/master/base/shell/cmd/history.c
- ^ http://wiki.kolibrios.org/wiki/Shell
- ^ "Manual de usuario de PTS-DOS 2000 Pro" (PDF) . Buggingen, Alemania: Paragon Technology GmbH . 1999. Archivado (PDF) desde el original el 12 de mayo de 2018 . Consultado el 12 de mayo de 2018 .
- ^ Darwin Kernel versión 15.0.0: sábado 19 de septiembre 15:53:46 PDT de 2015
Otras lecturas
- McElhearn, Kirk (2006). La línea de comandos de Mac OS X: Unix Under the Hood . John Wiley e hijos . ISBN 978-0470113851.