Cómo trabajar de manera eficiente en la línea de comandos: 6 consejos de Dave Kerr, desarrollador

Cuanto más trabaja un programador en la línea de comandos, más difícil le resulta orientarse en el texto y los comandos. Hemos traducido un artículo del desarrollador Dave Kerr y hemos aprendido cómo simplificar la navegación y búsqueda en la línea de comandos utilizando combinaciones de teclas (atajos).
Estás leyendo una versión actualizada y mejorada de nuestro antiguo artículo
Navegación en la línea de comandos
Supongamos que un desarrollador está escribiendo un comando simple que guardará una cita en un archivo de texto:

echo "The trouble with writing fiction is that it has to make sense,
whereas real life doesn't. -- Iain M. Banks" >> quote.txt

Entre bloques largos de texto, el desarrollador puede moverse con las flechas. Pero esto es lento e incómodo. Hay una forma más sencilla de navegar: los atajos de teclado:
  • Ir al principio o al final: Ctrl + a, Ctrl + e
  • Retroceder o avanzar por palabras: Alt + b, Alt + f
  • Eliminar una palabra o deshacer una acción: Ctrl + w, Ctrl + -
  • Eliminar la siguiente palabra: Alt + d
  • Eliminar todo hasta el principio: Ctrl + u
  • Eliminar todo hasta el final: Ctrl + k
Búsqueda en la línea de comandos
Una vez que el desarrollador se familiariza con la navegación básica, es importante que aprenda las herramientas de búsqueda.

Supongamos que el desarrollador ejecuta los siguientes tres comandos:

$ command1 param1 param2 param3
$ command2 param4 param5 param6
$ command3 param7 param8 param9

Puede realizar búsquedas hacia adelante o hacia atrás utilizando Ctrl + r y Ctrl + s. La búsqueda se realizará en el comando actual y luego de forma iterativa en los comandos anteriores:
También se pueden utilizar atajos de teclado para buscar en el historial de comandos hacia adelante y hacia atrás:
Cuando el desarrollador ingresa texto, la búsqueda verifica el historial de comandos y muestra los más recientes al principio. Aquí están los mismos comandos aplicados al ejemplo original:
  • Buscar hacia atrás o hacia adelante: Ctrl + r, Ctrl + s
  • Ejecutar el comando: Enter
  • Editar el comando: o
  • Detener la búsqueda: Ctrl + g
Edición en la línea de comandos
Cuando se trata de manejar un comando muy largo y complejo, se puede utilizar un editor de código. Pero, una vez más, cambiar entre el editor y la línea de comandos no es muy conveniente.

Aquí hay un atajo que permite editar el comando directamente en la línea de comandos: Ctrl + x, Ctrl + e
Borrar la pantalla en la línea de comandos
El atajo Ctrl + l borra la pantalla sin eliminar el comando actual. Se ve así:
Transposición
La transposición en la línea de comandos intercambia las últimas dos palabras del comando. Por supuesto, se pueden borrar y volver a escribir, pero eso llevará más tiempo que usar la combinación de teclas.
Puedes invocar la transposición con el atajo Alt + t. Y la combinación de teclas Ctrl + t intercambiará las últimas dos letras:
Biblioteca para el manejo de la línea de comandos en intérpretes
Para llevar tu trabajo en la línea de comandos a un nuevo nivel, vale la pena aprender sobre la biblioteca GNU Readline. Con ella, puedes personalizar todos los detalles de bajo nivel de cualquier intérprete que utilice Readline. Para ello, existe el archivo de configuración .inputrc

Los atajos de GNU Readline funcionan en cualquier línea de comandos que utilice esta biblioteca. Es decir, todo lo que hemos mencionado anteriormente se aplica a:
  • 1
    Bash
  • 2
    zsh
  • 3
    Python REPL
  • 4
    Node.js REPL
En el sitio web de Readline hay una excelente hoja de referencia de comandos, te recomendamos que la estudies.

También te recomendamos ver nuestro video sobre el trabajo en la línea de comandos. Es posible que descubras algo nuevo.
Conclusión
Hemos hablado de algunos atajos geniales que facilitan el trabajo en la línea de comandos. Aquí tienes un resumen esquemático del artículo:
¡Aprende los fundamentos de la línea de comandos de forma gratuita!

En Códica, tenemos un curso sobre los fundamentos de la línea de comandos. Realízalo para aprender más sobre los comandos de Linux, la navegación y la búsqueda, y para aprender a manipular el sistema de archivos como un profesional.
Leer otros artículos de Blog
Lee otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.