Comando history en Linux

El comando history nos permite reutilizar comandos anteriores que hemos utilizado o ver el registro de acciones que se han realizado en la shell.

Usos básicos

# history

nos muetra los comandos que hemos usado hasta el momento (ejemplo de mi máquina virtual Centos)

204 awk '/.actLabel/ {print $6}' file1.txt | sed -e 's/"//g' & awk '/.actName/ {print $6}' file1.txt | sed -e 's/"//g'
205 cd /var/log/
206 ls
207 pwd
208 cat wtmp
209 ls
210 ls -ltras
211 cat messages
212 sudo cat messages
213 cat /dev/null messages
214 sudo cat /dev/null > messages
215 sudo su -
216 history

Si queremos usar otra vez el comando 208:
# !208

También se puede usar un patrón. Por ejemplo de este history:

218 cd pruebas/
219 ls
220* ls -
221 cat /dev/null messages
222 sudo su -
223 ssh localhost "ls"
224 history


tecleamos lo siguiente :
$ !ssh
y se vuelve a ejecutar la línea anterior de ssh

Tecleando !! ejecutamos de nuevo el último comando utilizado en la shell.
Usando el comando de búsqueda grep es interesante para buscar un comando o varios que hayamos utilizado en nuestra shell, si no recordamos algo que usamos hace días. Esto es interesante también si varios administradores de sistemas acceden al server y queremos ver que se ha realizado en otros accesos:

$ history | grep -i ssh
28 ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
30 ssh -V
32 ssh localhost
34 ssh -V
35 ssh dedalus@localhost
36 ssh dedalus@localhost uname -r
37 ssh dedalus@localhost "uname -r;hostname"
223 ssh localhost "ls"
225 ssh localhost "ls"

Así podemos reutilizar por ejemplo el history 37 como indicamos anteriormente : # !37 , repetimos esa línea sin tener que escribir todo de nuevo.

Eliminando history al completo o partes

Si en algún momento queremos eliminar el histórico completo de history o determinados comandos que hemos utilizado, haremos lo siguiente:
Si queremos eliminar un comando en concreto tecleamdos history -d (número línea a borrar)
# history -d 210

Si queremos borrar todo el contenido de history:
# history -c

Se mantiene un registro de los comandos y de history en un fichero localizado en el home del usuario que está accediendo a la shell o sistema, este fichero se llama .bash_history, que también si es necesario podemos modificar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.