Fundamentos de la línea de comandos
Teoría: Interfaz de línea de comandos
Cuando usamos un computador, muchas veces lo hacemos dando clic en botones, viendo menús o utilizando ventanas. Esa es la llamada interfaz gráfica de usuario o GUI. Es lo que estamos acostumbrados a ver todo el tiempo.
Pero, ¿sabías que hay otra forma de usar el computador? Más directa, más poderosa, y muy común entre programadores. Se llama interfaz de línea de comandos (Command-Line Interface o CLI). Hoy vamos a comenzar a familiarizarnos con ella paso a paso.
¿Qué es la línea de comandos?
Primeros pasos: el comando ls
Vamos a empezar con un comando sencillo que nos muestra los archivos y carpetas dentro de una carpeta, muy parecido al "Explorador de Archivos". Este comando se llama ls. Mira cómo funciona:
Este comando nos muestra el contenido de la carpeta actual:
Hasta aquí todo bien, ¿cierto? Ahora vamos a ver cómo personalizamos este comando usando dos cosas muy importantes: argumentos y opciones.
Argumentos y Opciones: ¿Qué son?
Cuando usamos un comando como ls, podemos pasarle información adicional. Esta se da en forma de:
Explorando argumentos
Supongamos que estás en tu carpeta personal y quieres ver qué hay dentro de la carpeta Public. Solo necesitas escribir:
Esto es lo que se llama pasar un argumento (Public en este caso) al comando ls.
Explorando opciones
Las opciones son palabras que modifican cómo se comporta un comando. Siempre van precedidas por uno o dos guiones:
Veamos los efectos de cada uno:
Ejemplo:
Esto muestra todos los archivos dentro de Music, incluyendo los ocultos, y con detalles de cada uno como tamaño, fecha de modificación y permisos.
❓ ¿Y si usamos las opciones de forma incorrecta?
Es importante usar el guion correctamente:
Consultar la documentación de un comando
Cuando no sabes qué hace un comando o qué opciones tiene disponibles, puedes usar man (abreviatura de manual):
Esto abre una guía que te explica todo sobre ese comando. Puedes navegar así:
- Avanzar: presiona
f - Retroceder: presiona
b - Salir: presiona
q
También puedes usar el sitio explainshell.com, que explica cada parte de un comando paso por paso con solo copiar y pegar.
Versiones cortas y largas de opciones
Algunos comandos permiten escribir opciones en forma corta (una letra) o larga (nombre completo):
Opciones con valores
Algunas opciones necesitan que les digamos un valor.
Por ejemplo, en macOS hay un comando llamado say que reproduce en voz alta lo que le digamos. Veamos:
Acá la opción -o le dice dónde guardar el archivo de audio. El texto 'Hello, World.' es lo que queremos que lea.
En general, si el valor tiene espacios o caracteres especiales, lo mejor es usar comillas (simples o dobles):
Algunos comandos permiten usar un signo = para asignar un valor (aunque no todos lo aceptan):
(NOTA: el comando say no acepta este formato, pero otros programas sí).
Más completo: say con múltiples opciones
Es posible usar varias opciones al mismo tiempo:
Aquí estamos:
- Usando la voz Alex (
-v) - Guardando el resultado en un archivo
hi.aac(-o) - Leyendo el contenido desde un archivo (
-f hello_world.txt)
Este es el formato que describe su uso, llamado SYNOPSIS:
Interpretamos esta línea así:
- Todo lo que está entre
[]es opcional. - El símbolo
|indica alternativas (una opción u otra, pero no ambas). string ...significa que puedes pasar múltiples palabras como texto para leer.
Resumen
- La CLI nos deja usar el sistema por medio de comandos de texto.
- Argumentos son datos que un comando utiliza, como un archivo o carpeta.
- Opciones cambian el comportamiento de un comando, y generalmente comienzan con
-o--. - Combinamos argumentos y opciones para tener comandos más útiles.
- Hay versiones cortas y largas de opciones (ej.
-vy--version), elige según el contexto. - Algunas opciones requieren un valor adicional, que se indica después de un espacio o con
=. - Consulta
mano explainshell.com para entender mejor cualquier comando.