https://esgeeks.com/?p=7520

La terminal de Linux tiene una función de “historial“. Con esta función, se realizará una copia de seguridad de cada operación de comando que ingreses para más adelante. Dado que todos los comandos de tu terminal se guardan en el “historial” (history), es esencial mantener una copia de seguridad del mismo para su custodia.

En esta guía, te mostraré cómo realizar copias de seguridad del historial de terminales Linux y también, cómo restaurar las copias de seguridad. Por lo tanto, abre tu emulador de terminal Linux favorito y sigue adelante!

1. ¿Dónde se almacena el historial de la terminal Linux?

La terminal Linux almacena tu historial en un archivo. Este archivo se llama “.bash_history“. Cualquiera puede editarlo, y se almacena en el directorio home. Dado que el archivo de historial de terminal para Linux se almacena en un directorio de usuario, cada usuario del sistema tiene un archivo.

Los permisos especiales no protegen estos archivos de historial, y cualquier usuario del sistema puede echar un vistazo al historial de otro con un simple comando. Así que, por ejemplo, si quiero echar un vistazo al historial de la línea de comandos/terminal del nombre de usuario “alexynior” en mi sistema Linux, lo haré:

cat /home/usuario/.bash_history
Ver historial de comandos de usuario Linux

Ver historial de comandos de usuario Linux

Los usuarios también pueden ver el historial del usuario actual con el que han iniciado sesión en la terminal de Linux, simplemente ejecutando el comando “history“.

history
Comando history en Linux

Comando history en Linux

Lo mejor de todo, ya que “history” es solo un archivo, se puede buscar como un archivo de texto normal utilizando la función grep. Entonces, por ejemplo, para encontrar instancias de “git clone” en el nombre de usuario con el siguiente comando.

cat /home/usuario/.bash_history | grep 'git clone'
Buscar término en comando history de terminal

Buscar término en comando history de terminal

También funciona como el usuario conectado actualmente con el comando “historial”.

history | grep 'término de búsqueda'

2. Guardar historial de terminal en una copia de seguridad

En la sección anterior de esta guía, hablé sobre cómo el “historial” para la terminal Linux es solo un archivo de texto perfectamente oculto que contiene todos los comandos ingresados ​​por el usuario. Bueno, dado que es solo un archivo, eso significa que es muy fácil hacer una copia de seguridad para su custodia.


Para crear una copia de seguridad, utiliza el comando cat. ¿Por qué? Con cat, puedes ver la totalidad de un archivo de texto directamente en la terminal. Podemos usar este comando en combinación con el símbolo “>” para redirigir la salida de visualización a un archivo de copia de seguridad.

Entonces, por ejemplo, para hacer una copia de seguridad de tu historial actual, ejecuta el comando cat seguido de “~/.bash_history” y guárdalo en un archivo con la etiqueta “historial_backup“.

cat ~/.bash_history > historial_backup
Realizar copiar de seguridad del historial de terminal

Realizar copiar de seguridad del historial de terminal

También puedes ejecutar el comando history en combinación con “>” y guardarlo de esa manera.

history > history_backup

Por último, es posible hacer una copia de seguridad del historial de la línea de comandos / terminal de otro usuario que no haya iniciado sesión ejecutando el siguiente comando.

Nota!

Asegúrate de cambiar 'usuario' al usuario del que deseas guardar el historial.
cat /home/usuario/.bash_history > historial_backup

3. Hacer copia de seguridad de ciertos elementos del historial

Es posible que solo desees hacer una copia de seguridad de comandos específicos en el historial de tu terminal Linux. La forma de hacerlo es ver el archivo de historial y combinarlo con el comando grep, que filtrará palabras clave específicas.

Por ejemplo, para hacer una copia de seguridad de los comandos en el historial de tu terminal de Linux que contienen los comandos git clone o git, puedes ejecutar la operación a continuación.

Nota!

En estos ejemplos, estamos usando '>>' en lugar de '>'. El motivo de '>>' es que no sobrescribirá el contenido de la copia de seguridad del archivo de historial y puede volver a ejecutarse varias veces para agregar a la copia de seguridad.
Backup de ciertos elementos del historial terminal

Backup de ciertos elementos del historial terminal

cat ~/.bash_historial | grep 'git' >> historial_backup

O,

cat /home/usuario/.bash_history | grep 'git' >> historial_backup

El filtrado con grep también se puede aplicar al comando history, así:

history | grep 'git' >> historial_backup

Para hacer una copia de seguridad de ciertas palabras clave del archivo de historial, reemplaza “git” en los ejemplos anteriores con cualquier comando que desees hacer una copia de seguridad. Siéntate libre de volver a ejecutar este comando tanto como sea necesario.

4. Cómo restaurar la copia de seguridad del historial


Restaurar la copia de seguridad del historial es tan simple como eliminar el archivo original y colocar la copia de seguridad en su lugar. Para eliminar el archivo de historial original, usa el comando rm en una ventana de terminal para eliminar “.bash_history“.

rm ~/.bash_history

Una vez que el archivo de historial original se elimina de la carpeta home del usuario en el que deseas restaurar el historial, usa el comando mv para cambiar el nombre de “historial_backup” a “.bash_history“.

mv historial_backup ~/.bash_history

Ahora que el nuevo archivo de historial está en su lugar, ejecuta el comando history -rw para volver a cargar la función de historial de la terminal.

history -rw

Luego podrás ver el historial de tu terminal con:

history

5. Restaurar copias de seguridad para otros usuarios

¿Necesitas restaurar las copias de seguridad del historial de otros usuarios en el sistema? Para hacer esto, comienza iniciando sesión en su usuario con el comando su.

su usuario

Después de iniciar sesión en el usuario, elimina el archivo de historial actual que reside en el directorio home del usuario (~).

rm ~/.bash_history

Desde allí, cambia el nombre del archivo de respaldo del historial como el nuevo archivo “.bash_history” en el directorio del usuario.

mv /ruta/de/backup/archivo/historial-backup ~/.bash_history

Escribe los cambios con:

history -rw

Cuando termine, ejecuta history para ver los comandos restaurados en la ventana de la terminal. ¡Es todo!

También te interesará:

Si te gusta el contenido y deseas apoyar a la mejora del sitio web, considera hacer una contribución ¡haciendo clic aquí por favor!. ¡NO ES OBLIGATORIO, GRACIAS! 🙂

¿Te ha gustado este artículo? Sígue este blog en su fanpage de  FacebookTwitterInstagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.