Fundamentos de la línea de comandos
Teoría: Variables de entorno
Imaginemos que estamos usando el terminal escribimos el siguiente comando:
Y ¡listo! nos lleva directo a nuestra carpeta personal. Pero surge la pregunta: ¿cómo sabe el terminal cuál es nuestra carpeta personal?
🔮 Podríamos pensar que es magia, o que consulta el sistema operativo. Pero en realidad, el secreto está en algo llamado variable de entorno.
¿Qué son las variables de entorno?
Estas variables son:
- Configuraciones del sistema o del usuario.
- Solo existen mientras la terminal está abierta (al cerrar, desaparecen).
- Muy utilizadas por comandos, programas y scripts para saber cosas como el nombre del usuario, el idioma, o dónde encontrar ciertos archivos.
¿Cómo se ven?
Podemos ver todas las variables que están activas usando este comando:
Este comando mostrará algo como esto (en tu caso algunos valores pueden variar):
USER=carolina
HOME=/home/carolina
LANG=en_US.UTF-8
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin
Cada línea tiene la forma: → NOMBRE_VARIABLE=valor
¿Para qué sirven?
Estas variables nos permiten usar el sistema sin tener que escribir los detalles cada vez. Por ejemplo, en lugar de decirle al comando cd exactamente cuál es nuestra carpeta, él ya sabe que debe ir al directorio que está guardado en la variable HOME.
Sin estas variables tendríamos que hacer algo como esto todo el tiempo sería agotador...
Ver una variable
Para ver el contenido de una variable, usamos echo y anteponemos el símbolo $ al nombre de la variable. Por ejemplo:
Este comando mostrará algo como:
/home/carolina
Modificar una variable temporalmente
Vamos a cambiar el valor de HOME temporalmente.
Esto muestra:
/tmp
Y si queremos volver al valor anterior, simplemente lo asignamos otra vez:
Prueba real con cd
Ahora hagamos una pequeña prueba para ver cómo cd usa la variable HOME:
Caso 1: cambiar HOME solo para ese comando
Esto muestra:
/tmp
En este caso, el cambio solo se aplicó en ese momento. La variable HOME global no fue modificada.
Caso 2: cambiar HOME para toda la sesión
Este comando también nos lleva a /tmp, pero ahora si ejecutamos echo $HOME veremos que se ha cambiado de verdad para toda la sesión:
Recuerda, estos cambios son válidos solo en esta terminal. Si abres otra ventana, va a seguir usando el valor anterior de HOME.
La variable PATH
Hay otra variable súper importante: PATH. Esta le dice al sistema en qué carpetas buscar los comandos que escribimos.
Por ejemplo, cuando escribimos:
El sistema busca el programa llamado ls en cada una de las carpetas que están listadas en PATH, en el orden que aparecen.
Este comando devuelve algo como:
/usr/local/bin:/usr/bin:/bin
Cada carpeta está separada por dos puntos :. Si el programa no está en ninguna de esas, aparecerá un error como "comando no encontrado".
No te preocupes si esto suena complicado. Vamos a profundizar en PATH en una lección aparte.
Resumen
- Las variables de entorno son datos que el sistema y los programas usan para configurarse.
- Existen solo en la sesión actual del terminal.
cdusa la variableHOMEpara llevarte a tu carpeta personal.- Podemos verlas con el comando
env. - Puedes imprimir una variable con
echo $NOMBRE. - Para cambiar una variable por un momento, se asigna antes del comando:
VAR=valor comando. - Si la quieres cambiar para toda la sesión se usa
export:export VAR=valor. - La variable
PATHle indica al sistema dónde buscar los comandos.
Esta base te será útil no solo para comprender cómo funciona tu terminal, sino para cuando empieces a escribir tus propios scripts o aplicaciones. ¡Vamos bien!