hombrelinuxcomando

Linux ofrece un par de formas sencillas de grabar los comandos que escribes para que puedas revisarlos o volver a ejecutarlos.

Grabar los comandos que ejecutas en la línea de comandos de Linux puede ser útil por dos razones importantes. Por un lado, los comandos grabados proporcionan una forma de revisar tu actividad en la línea de comandos, lo cual es extremadamente útil si algo no funcionó como esperabas y necesitas echar un vistazo más de cerca. Además, la captura de comandos puede facilitar la repetición de los comandos o convertirlos en scripts o alias para su reutilización a largo plazo. Este artículo examina dos formas de registrar y reutilizar comandos.

Historial de comandos

El comando historial facilita enormemente el registro de los comandos que introduces en la línea de comandos, ya que se realiza de forma automática. Lo único que tal vez quieras comprobar es la configuración que determina cuántos comandos se conservan y, por lo tanto, cuánto tiempo van a permanecer para su visualización y reutilización. El siguiente comando mostrará el tamaño del búfer del historial de comandos. Si es 1.000 como el que se muestra, retendrá los últimos 1.000 comandos que hayas introducido.

$ echo $HISTSIZE
1000

El siguiente comando del historial muestra los dos comandos ejecutados más recientemente. Dado que la lista termina con el comando número 1013, habrá comenzado con 14.

$ history | tail -2
 1012  05/04/23 14:26:11 vi myfile
 1013  05/04/23 14:28:30 history | tail -2

Cuando abres una sesión por primera vez en la línea de comandos, los comandos más antiguos del búfer del historial aparecen numerados como 1 y 2. Los comandos más antiguos aparecen primero. Los comandos más antiguos se muestran primero.

$ history | head -2
    1  04/03/23 11:35:11 vi getdocs
    2  04/03/23 11:35:30 getdocs

Si pasas la salida del comando history a more, te desplazarás por los comandos grabados pantalla a pantalla.

$ history | more

Ignorar órdenes

Para evitar guardar todos tus comandos en el búfer del historial de comandos, puedes utilizar la variable HISTSIGNORE. Yo uso una como esta para evitar almacenar comandos que no quiero conservar, dejando más espacio para los que sí quiero.

$ grep HISTIGNORE ~/.bashrc
HISTIGNORE="pwd:clear:cd:ls:man:history"

Reutilización de órdenes de la memoria histórica

Cualquier orden de la memoria histórica puede volver a ejecutarse introduciendo su número de orden después de un signo de exclamación (por ejemplo, !927). Los comandos conservarán sus números de comando del historial durante una única sesión de inicio de sesión.

También puedes utilizar la tecla de flecha arriba para retroceder sobre cualquier número de comandos recientes. Cuando llegues al que quieras volver a ejecutar, pulsa la tecla intro y se ejecutará de nuevo.

Uso del comando script

El comando script proporciona una forma de grabar tantos comandos como quieras "sobre la marcha". En otras palabras, escriba "script" y cada comando que introduzca se guardará automáticamente en un archivo. El archivo se llamará "typescript" a menos que le dé un nombre diferente añadiéndolo al comando de la siguiente manera:

$ script script11

Si desea añadir los comandos que se dispone a introducir y su salida a un archivo de salida existente, puede utilizar la opción -a (append) a su comando de script. He aquí un ejemplo:

$ script -a script11

Detalles adicionales sobre el comando script

El comando script ejecutará tu archivo de inicio .bashrc cuando inicies la grabación de comandos. Guardará los comandos que introduzcas junto con la salida generada por ellos. El archivo utilizado para guardar los comandos introducidos no tendrá permiso de ejecución. Si desea convertir los comandos en un script, puede configurarlo después de eliminar la salida del comando y conservar sólo aquellos comandos que desee preservar.

 

Fuente: somoslibres

 

¿Quién está en línea?

Hay 34804 invitados y ningún miembro en línea