El comando de historial en Linux no es una jerga compleja. Es exactamente lo que crees que es, y no hay ningún significado oculto detrás de él. De la misma manera que mira el historial de su navegador después de un largo día en Internet, es cómo percibe el comando de historial. Se trata de realizar un seguimiento de sus movimientos y acciones anteriores, pero en este caso, se trata de una terminal o línea de comandos de Linux.
Por lo tanto, podemos definir cómodamente el comando de historial bajo el dominio de Linux como una forma de obtener una vista previa de los comandos ejecutados anteriormente. En este caso, podemos ver la terminal como un navegador donde ejecuta varios comandos en un marco de tiempo continuo. Estos comandos ejecutados se interpretan individualmente como eventos. A cada evento se le asigna un número de evento. Por lo tanto, tenemos comandos con identificadores como números de eventos almacenados en un archivo de historial después de su ejecución en el terminal.
La importancia de los identificadores de eventos es evidente cuando más tarde necesite recordar un comando específico que ejecutó. Además, es posible que desee modificar un comando ejecutado anteriormente. Por lo tanto, podemos concluir la comprensión introductoria del comando de historial para mostrar todos los comandos ejecutados anteriormente o solo un comando específico en la terminal. Además, no debemos olvidar la opción viable de modificar el comando listado.
Dejar que la historia se repita
Podemos comenzar este artículo histórico de una manera divertida y citando a George Santayana. Este famoso individuo asocia la incapacidad de recordar el pasado con la maldición de repetirlo. Sin embargo, cuando nos adentramos en el universo Linux, esta cita solo califica como un mito. Es porque la filosofía de Linux es realmente lo contrario de la cita de George Santayana. Cuando está en la terminal de Linux, si no puede recordar una acción pasada, no hay necesidad de preocuparse porque las probabilidades están en contra de que alguna vez se deshaga.
A menos, por supuesto, que te conviertas en un maestro del comando de historial de Linux, entonces puedes viajar en el tiempo al pasado y corregir tus pecados de terminal anteriores si ese es tu deseo. El uso del comando de historial de Linux no es de ninguna manera asociado a la pereza. Ahorra tiempo a través de la eficiencia. A medida que avance en el dominio del sistema operativo Linux, se encontrará trabajando con comandos más largos y complicados. Incluso si compara su coeficiente intelectual con el de Albert Einstein, no tendrá tiempo para recordar todos los comandos que ejecuta y pronto comenzará a cometer errores terribles. Trabajar en la terminal de Linux expondrá a una persona a dos tipos de errores:
- Error uno:este error es el más común y todo lo que hace es evitar que continúe con el comando que desea ejecutar.
- Error dos:este error es engañoso. Ejecutará el comando que inició pero producirá resultados inesperados.
Puede pensar en el comando de historial como el guerrero ninja que erradica estos dos tipos de errores para aumentar su productividad. Una palabra de pensamiento antes de comenzar el tutorial, hay más en el comando de historial de Linux que solo usar la tecla de flecha hacia arriba de su teclado. Nuestro enfoque te hará lucir más profesional.
Ingrese el comando de historial de Linux
Iniciar el comando de historial es tan fácil como escribir la palabra historial en su terminal Linux. Así que encienda su terminal y pase este sencillo examen de ortografía.
history
Si presiona enter, obtendrá una lista de todos los comandos que ejecutó en la terminal con sus identificaciones asignadas o números de eventos. El sistema de numeración que utiliza la interfaz de terminal de Linux muestra el comando más antiguo en la parte superior de la lista y el comando recién escrito en la parte inferior de la lista. Como puede ver, al comando de historial que acabo de escribir se le asignó el número de identificación 24.
Considere el escenario de una terminal Linux muy activa. Si tuviéramos que escribir el comando de historial en este terminal, la salida sería, digamos, una lista de 500 comandos guardados en el archivo de historial. Por lo tanto, el comando de historial es útil para filtrar un segmento de comandos agrupado específico. Digamos que queremos ver los últimos 10 comandos ejecutados en la terminal. Filtraremos nuestro camino a través de la terminal escribiendo lo siguiente.
history 10
Como puede ver, el comando 'historia 10' filtró los últimos diez comandos utilizados en este terminal y los enumeró en nuestra terminal con inclusión del comando 'historia 10'.
Esa es una forma de lograr este objetivo. Otra forma nerd de hacerlo es canalizando el comando de historial con otro comando llamado comando de cola. Escriba el siguiente comando, como se muestra en la siguiente captura de pantalla.
history | tail -n 10
El comando también enumera los últimos 10 comandos ejecutados en la terminal de Linux, incluido el que acabamos de ejecutar.
Historia que se repite en realidad
Es hora de la parte divertida de usar el comando de historial. ¿Qué tal si comenzamos por dejar que la historia se repita? Ya que está familiarizado con los comandos del historial y sus identificadores de eventos asociados, volvamos a la terminal. Para repetir un comando específico de la lista, tome nota de su ID de evento y simule el siguiente comando, como se muestra en la captura de pantalla. No utilice espacios al escribir el comando.
!17
En mi caso, quería ver el archivo Linux /etc/host y se me solicitó una contraseña de autenticación. Tan pronto como se aprobaron mis credenciales, el comando se ejecutó solo.
También hay un caso en el que desea repetir el comando anterior que ejecutó. Conseguir este objetivo es tan fácil como escribir dos signos de exclamación en tu terminal. No use espacios.
!!
Como puede ver, el comando nos llevó de regreso al archivo Linux /etc/host que había abierto previamente. Tomó el comando de doble exclamación para reutilizar mi comando anterior, que se ejecutó solo. Tal vez esté acostumbrado a la tecla de flecha hacia arriba del teclado, que requería que realizara dos acciones, desplazarse hacia arriba una vez y luego presionar el botón Intro. Sin embargo, el comando de doble exclamación parece más rápido y profesional, ya que solo necesita realizar una sola acción.
Dado que el comando que utilicé requiere privilegios de Sudo, puedo prefijar mis signos de exclamación dobles con un comando de Sudo para obtener el mismo resultado esperado.
sudo !!
Un solo número de exclamación combinado con una identificación de evento ejecutará el comando mostrado vinculado a esa identificación. Un signo de exclamación doble le permite ejecutar el comando utilizado más recientemente con la opción de prefijar el comando con Sudo si requiere un usuario sudoer para ejecutarlo.
También es posible que desee llevar su nerd al siguiente nivel y desee una forma de repetir sus 3 o 6 comandos anteriores. En este caso, deberá tomar nota de la identificación del evento asociada con el comando. Luego combinará la identificación del evento con un guión y un solo signo de exclamación de la siguiente manera.
!-21
Por mi parte, quería consultar sobre mi comando anterior 21, y resultó ser una solicitud de ping para mi dirección IP localhost. El uso de esta secuencia de comandos es útil cuando desea verificar un comando ejecutado previamente y determinar si los parámetros que usó para ejecutarlo aún son válidos o no están sesgados.
Cadenas de comando
Digamos que ejecutó algún comando en su terminal, pero no ha memorizado completamente el comando. Sin embargo, está seguro de la eficacia del comando y de cómo lo ayudó. Conocer una parte de la cadena que constituye este comando es muy útil. En mi caso, estoy muy seguro de ejecutar alguna vez un comando para actualizar mi sistema. Digamos que todavía tengo que memorizar completamente este comando de actualización del sistema, pero sé que una parte del comando contiene la cadena 'apt' como la redacción inicial del comando. Para usar este comando nuevamente, escribiré el siguiente comando en mi terminal. Sin embargo, dado que la mayoría de los comandos de actualización del sistema requieren la autorización de un usuario de Sudoer, prefijaré la cadena de comando que quiero usar con Sudo.
sudo !apt
Como puede ver, actualicé con éxito mi sistema Linux desde la línea de comandos sin usar el comando completo 'sudo apt update'. Este truco del manual de comandos de la historia de Linux es útil cuando se trata de comandos más largos que pueden ser tediosos de escribir o pueden conducir a un error tipográfico molesto. Es posible que esté editando un archivo cuya ruta relativa produce un comando largo o simplemente copiando archivos. De cualquier manera, necesita un enfoque libre de estrés para reciclar sus comandos repetitivos.
Ya que mencionamos el aspecto de la autorización de los usuarios de Sudoer, podríamos terminar chocando contra una pared si no tenemos cuidado. La mayoría de los comandos de los usuarios privilegiados de sudoer requerirán el prefijo Sudo para ejecutarse. Por lo tanto, escribir un comando de cadena como '! Sudo' para los comandos que comienzan con Sudo podría no ser suficiente, ya que podría conducir a la ejecución de una secuencia de comandos no deseada. Sin embargo, podemos proporcionar una red de seguridad mediante el uso del parámetro :p, que es un modificador de impresión. Por lo tanto, combinar nuestro comando de cadena con él debería generar resultados como los siguientes.
!sudo:p
El comando imprimió los comandos Sudo disponibles que acabo de usar. Para reutilizar este comando, usaré la tecla de flecha hacia arriba del teclado y presionaré enter para ejecutarlo. Si la lista mostrara más de un comando de Sudo, todavía usaría la tecla de flecha hacia arriba para navegar al comando de Sudo específico que quería reutilizar.
Estas no son todas las opciones que tenemos para tratar con cadenas. También hay un caso en el que solo conoce una cadena en particular definida en el comando que desea usar. Es un caso en el que no está seguro de las primeras cadenas que definen el comando que utilizó anteriormente. Aquí, utilizará tanto el signo de exclamación como el de interrogación para encontrar su comando.
!?ping
Utilicé la secuencia de comandos '!?ping', que ejecutó instantáneamente mi solicitud de ping anterior. Puede usar esta secuencia para ejecutar comandos anteriores en su terminal que son exclusivos de otros.
Búsqueda interactiva
Supongamos que tiene varios comandos anteriores que ejecutó y tienen secuencias de cadenas similares o coincidentes. De todas estas señales coincidentes, es posible que solo desee ejecutar una secuencia de comando específica en ese pliegue. Una búsqueda interactiva le permite llegar a este comando que desea ejecutar. Para iniciar la búsqueda interactiva, combine las teclas Ctrl+r. La pantalla de su terminal Linux debería ser similar a la siguiente.
Simplemente escriba la pista de búsqueda para el comando que necesita ejecutar. En mi caso, escribí 'apt' y, como pueden ver, apareció entre el apóstrofe y el acento grave. Puede escribir más pistas sobre el comando consultado y la búsqueda interactiva actualizará continuamente los resultados relacionados. Presionar enter ejecutará inmediatamente el comando encontrado.
sudo apt update
Además, es posible que desee editar el comando encontrado antes de ejecutarlo. Para hacerlo, use las flechas izquierda y derecha del teclado. El comando encontrado ahora se mostrará en la terminal, donde puede realizar los cambios necesarios.
sudo apt update && cd FOSSLinux
Eliminación de comandos del historial
Hasta ahora, ahora puede recuperar, consultar, actualizar y ejecutar comandos desde el archivo de historial. Sin embargo, es posible que esté buscando una forma de vaciar la lista de historial de algunos o todos sus comandos. Tal vez usted es ese tipo de usuario que no quiere que nadie rastree cómo usó su sistema Linux. El parámetro -d lo ayuda a deshacerse de algunos comandos no deseados en el archivo de historial. En mi caso, mi archivo de historial contiene un comando mal escrito con un número de identificación de evento 44.
Para deshacerme de este comando mal escrito, haré lo siguiente en mi terminal.
history -d 44
Ejecutar el comando 'historial' nuevamente muestra que el comando mal escrito fue eliminado.
La opción de eliminación no solo se aplica a un solo comando, ya que también cubre una variedad de comandos. Por ejemplo, considere el siguiente comando.
history -d 10 20
Este comando eliminará las entradas del archivo de historial desde el ID de evento 10 hasta el ID de evento 20. Otro comando de historial a considerar es el siguiente.
history -d -6
Este comando eliminará los últimos seis comandos que escribió en el terminal almacenados en el archivo de historial.
Si desea borrar todo de la lista de archivos del historial, puede simular el siguiente comando.
history -c
Conclusión
Ahora tiene toda la información necesaria para decidir si el historial de su terminal debe o no repetirse. Para usuarios avanzados, hay casos en los que puede ejecutar una aplicación a través de la terminal y se le puede solicitar que deje un rastro de información confidencial. El archivo de historial también almacena estos datos confidenciales. Por lo tanto, es una buena práctica borrar siempre su archivo de historial antes de salir de la línea de comando, especialmente en los casos que conducen al almacenamiento de datos confidenciales. El comando de historial le brinda el poder de revivir los buenos momentos en la terminal y también corregir sus errores de línea de comandos anteriores.