Cómo ver el historial de comandos de PowerShell?
Uno de los inconvenientes principales del símbolo del sistema de Powershell en comparación con bash fue la incapacidad de mantener un historial de comandos ejecutados. El historial de comandos solo se puede ver en la sesión actual de Powershell, y cuando la consola Powershell se ha cerrado o la computadora se ha reiniciado, el historial de comandos no se guarda. Este inconveniente se ha corregido en la versión 5 de PowerShell, que está integrado en Windows 10.
Ahora cuando presionas la flecha hacia arriba puedes ir al último comando que ingresaste oa los anteriores (flecha hacia abajo). De manera predeterminada, PowerShell recuerda 4096 comandos almacenados en un archivo de texto sin formato en el perfil de cada usuario:
%userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
También puedes buscar el historial de comandos usando CTRL + R (búsqueda inversa) o CTRL + S (búsqueda hacia adelante). El texto que ingresó se encontrará en el historial de comandos en cualquier posición (a diferencia de la búsqueda en PowerShell con F8 o Shift + F8, que permiten buscar las coincidencias solo desde el comienzo de la línea) y se resaltará una variante adecuada.
El historial de comandos se puede configurar con los comandos Get-PSReadlineOption y Set-PSReadlineOption. La configuración actual se puede ver con este comando:
Get-PSReadlineOption | select HistoryNoDuplicates, MaximumHistoryCount, HistorySearchCursorMovesToEnd, HistorySearchCaseSensitive, HistorySavePath, HistorySaveStyle
La configuración de los siguientes parámetros puede ser importante para nosotros
HistoryNoDuplicates: determina si se deben guardar los mismos comandos
MaximumHistoryCount: la cantidad máxima de comandos almacenados
HistorySearchCursorMovesToEnd: determina si debe ir al final del comando cuando busca
HistorySearchCaseSensitive: determina si la búsqueda es sensible a mayúsculas y minúsculas
HistorySavePath: muestra el archivo donde se almacena el historial de comandos
HistorySaveStyle: determina las peculiaridades de los comandos de guardado:
-
SaveIncrementally: los comandos se guardan después de que se ejecutan (de forma predeterminada)
-
SaveAtExit: el historial se guarda cuando se cierra la consola
-
SaveNothing: deshabilita el guardado del historial de comandos
Puede cambiar la configuración del módulo PSReadLine usando Set-PSReadlineOption, por ejemplo:
Set-PSReadlineOption -HistorySaveStyle SaveAtExit