Uno de los comandos más utilizados en el mundo de UNIX es el comando de historial. Cada versión de UNIX tiene el comando history. El shell bash almacena un historial de los comandos ingresados, que se puede usar para repetir comandos usando el comando de historial. De forma predeterminada, mostrará los 1000 anteriores. comandos que se usaron.
Aquí hay una salida de muestra del historial de comandos:
# history 1 uname -a 2 clear 3 ssh [email protected] 4 exit 5 ls 6 clear 7 echo "Hello" ........
El mecanismo de historial de bash admite una variedad de formas avanzadas de recuperar comandos de la lista de historial. A continuación se muestran algunas de las formas de usar el comando bash history:
1. Listado de los últimos n comandos usados
De forma predeterminada, el comando de historial muestra los últimos 1000 comandos utilizados. Si desea enumerar solo los últimos comandos activados por el usuario, use "historial n". Por ejemplo, para mostrar los últimos 5 comandos disparados:
# history 5 504 uname -a 505 who am i 506 date 507 echo "Hi" 508 history 5
2. Repitiendo el último comando
Para repetir el último comando ejecutado:
# echo "I am history" I am history # !! echo "I am history" I am history
3. Repita el último comando comenzando con algún carácter
!char =repite el último comando que comenzó con char. Por ejemplo:
# !uname uname -a Linux geeklab 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
4. Repita el último comando por su número
!num =repite un comando por su número en la salida del historial. Por ejemplo:
# !1010 ls -lrth total 197M -rw-r--r-- 1 root root 512K May 25 2015 file1 drwxr-xr-x 2 root root 4.0K Jun 1 2016 dir1
5. Repita el último comando que contiene algún carácter
!?command =repite el último comando que contiene (en lugar de comenzar con [!char]) comando. Ejemplo:
# echo "I am legend" I am legend # !?legend echo "I am legend" I am legend
6. Repita el enésimo último comando
!-n =repite un comando ingresado n comandos atrás
# !-3 uname -a Linux VMAX3Linux 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
7. Buscando un comando en el historial y ejecutándolo
Ctrl-r =busca un comando en el historial de comandos y ejecútalo una vez que encuentres una coincidencia.
# (reverse-i-search)`uname': uname -aSolaris:cómo incluir la fecha y la marca de tiempo en el historial de comandos de bash shell
CentOS/RHEL:cómo obtener la fecha y la hora del comando ejecutado en la salida del comando del historial
CentOS/RHEL:cómo deshabilitar el historial de BASH shell