Volver a la página principal
martes 24 diciembre 2024
29

Cómo mejorar la experiencia en la terminal con rlwrap en Linux

rlwrap es una utilidad que permite agregar funcionalidades avanzadas de lectura de línea, como el historial de comandos y la edición de texto, a programas de línea de comandos que no las soportan de forma nativa. Esto mejora significativamente la experiencia al trabajar con aplicaciones en la terminal.

¿Qué es rlwrap y para qué sirve?

El comando rlwrap actúa como un envoltorio para programas de terminal, proporcionando características como:

  • Navegación por el historial de comandos usando las teclas de flecha.
  • Edición de línea con atajos familiares (Ctrl+A, Ctrl+E, etc.).
  • Soporte para autocompletado.

Es particularmente útil para herramientas que no incluyen estas funcionalidades por defecto, como intérpretes de lenguajes personalizados o aplicaciones interactivas.

Instalación de rlwrap

En la mayoría de las distribuciones de Linux, puedes instalar rlwrap con tu gestor de paquetes:

# En distribuciones basadas en Debian/Ubuntu
sudo apt install rlwrap

# En distribuciones basadas en Red Hat/Fedora
sudo dnf install rlwrap

Cómo usar rlwrap

Para utilizar rlwrap, simplemente antepón el comando a la aplicación que deseas ejecutar. Por ejemplo:

rlwrap mysql -u root -p

En este caso, rlwrap habilitará el historial y la edición de línea en el cliente de MySQL.

Parámetros principales de rlwrap

Parámetro Descripción
-h o --help Muestra la ayuda y las opciones disponibles.
-a Captura todas las entradas, incluso aquellas que no son entradas de usuario.
-c Activa el modo de compatibilidad para programas que modifican la terminal.
-f <archivo> Usa un archivo para definir palabras para autocompletado.
-n Desactiva el historial.

Ejemplos prácticos

1. Habilitar historial en un intérprete interactivo:

Si estás trabajando con un intérprete personalizado llamado mycli, puedes ejecutar:

rlwrap mycli

2. Autocompletado personalizado:

Define un archivo con las palabras que deseas usar para autocompletado, por ejemplo, comandos.txt:

SELECT
   INSERT
   DELETE

Luego, usa rlwrap con esta opción:

rlwrap -f comandos.txt mysql -u root -p

3. Evitar guardar el historial:

Si no deseas que los comandos se guarden en el historial:

rlwrap -n mycli
Etiquetas:
linux
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer