Línea de comandos

Herramientas de línea de comandos

Las herramientas de línea de comandos son programas que pueden usarse mediante una interfaz de línea de comandos (CLI), en lugar de una interfaz gráfica (GUI). Estas herramientas permiten realizar tareas escribiendo comandos de texto en una terminal o ventana de consola. Las herramientas de línea de comandos son habituales en muchos sistemas operativos, incluidos Linux, macOS y Windows, y son esenciales para la administración de sistemas, el desarrollo de software y el procesamiento de datos.

Estas herramientas ofrecen funciones potentes que a menudo pueden combinarse o incluirse en scripts para automatizar flujos de trabajo complejos. Algunos ejemplos de herramientas de línea de comandos son programas para manipular archivos como cp y mv, editores de texto como vim y nano, y herramientas de red como ping y ssh. Se valoran por su velocidad, flexibilidad y por el control que dan para gestionar el sistema y trabajar con archivos.

Consejos y trucos

Detener un comando

  • Pulsa Ctrl + C: interrumpe el comando que se está ejecutando y vuelve al prompt.

Esto resulta muy útil si arrancas por accidente un comando que tarda demasiado o se comporta de forma inesperada. También funciona si un comando está esperando entrada y quieres cancelarlo. Por último, puede ser una forma rápida de empezar de nuevo si te equivocaste al escribir un comando.

Autocompletar

  • Pulsa Tab: completa si solo hay una coincidencia.
  • Pulsa Tab dos veces: muestra opciones cuando hay varias coincidencias.

Funciona con comandos, archivos, directorios y muchas opciones. Por ejemplo:

  • gigit
  • cd Doccd Documents/
  • git chgit checkout/git cherry-pick

Historial de comandos

  • Pulsa Up / Down: recorre comandos que ya has ejecutado.
  • Pulsa Ctrl + R: busca hacia atrás en tu historial de comandos (escribe para filtrar, Enter para ejecutar).
  • history: muestra la lista del historial.
  • !!: vuelve a ejecutar el último comando.

Argumentos, comillas y caracteres especiales

Al pasar argumentos a comandos, presta atención a los espacios y caracteres especiales. Cuando trabajes con rutas o nombres de archivo que contienen espacios, pon las rutas entre comillas (" o ') para asegurarte de que se tratan como un único argumento. También puedes escapar el espacio con una barra invertida (\). Por ejemplo:

  • Incorrecto: rm My Project (se interpretará como eliminar dos rutas distintas: My y Project)
  • Correcto:
    • rm "My Project"
    • git add 'My Project'
    • git add My\ Project

Si no cierras bien las comillas, la terminal pensará que sigues escribiendo el argumento y esperará a que lo termines (mostrando dquote> en una línea nueva). Cierra la comilla en la línea nueva o cancélalo pulsando Ctrl + C.

Argumentos multilínea

Al pulsar Enter en la terminal normalmente se ejecuta al momento el comando que has escrito.

Sin embargo, a veces quieres dividir un comando o argumento largo en varias líneas para que sea más legible. En ese caso, puedes escribir una barra invertida (\) al final de la línea para indicar que el comando continúa en la línea siguiente. Por ejemplo:

Ejecuta en la terminal:
git rebase -i HEAD~5 \
--autosquash \
--keep-empty

Pero aquí hay una pequeña trampa: usar barras invertidas así solo afecta a cómo se muestra el comando en la terminal; no inserta saltos de línea reales en el propio argumento. Por ejemplo:

Ejecuta en la terminal:
echo "First line\
Second line"

Da como resultado:

Resultado:
First lineSecond line

Para meter saltos de línea reales en la cadena, debes incluir el carácter de nueva línea (representado por \n) dentro de las comillas, así:

Ejecuta en la terminal:
echo "First line\nSecond line"

O, si quieres darle formato en varias líneas:

Ejecuta en la terminal:
echo "First line\n\
Second line"

Esto producirá:

Resultado:
First line
Second line