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
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
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'
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
También puedes ejecutar el comando history en combinación con “>” y guardarlo de esa manera.
history > history_backupPor ú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.
[eckosc_status_message title=”Nota!” icon=”fa-info-circle” type=”info” message=”Asegúrate de cambiar ‘usuario’ al usuario del que deseas guardar el historial.”]
cat /home/usuario/.bash_history > historial_backup3. 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.
[eckosc_status_message title=”Nota!” icon=”fa-info-circle” type=”info” message=”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.”]

cat ~/.bash_historial | grep 'git' >> historial_backupO,
cat /home/usuario/.bash_history | grep 'git' >> historial_backupEl filtrado con grep también se puede aplicar al comando history, así:
history | grep 'git' >> historial_backupPara 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_historyUna 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_historyAhora 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 -rwLuego podrás ver el historial de tu terminal con:
history5. 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 usuarioDespués de iniciar sesión en el usuario, elimina el archivo de historial actual que reside en el directorio home del usuario (~).
rm ~/.bash_historyDesde 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_historyEscribe los cambios con:
history -rwCuando termine, ejecuta history para ver los comandos restaurados en la ventana de la terminal. ¡Es todo!
También te interesará:
- +5 comandos para usar calculadora en terminal Linux
- +15 Comandos esenciales de seguridad en Linux
- +3 Comandos para crear una cuenta de usuario en Linux
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 Facebook, Twitter, Instagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!


