Gestión del entorno Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Las variables de entorno de Linux son pares clave-valor que pueden afectar cómo se ejecutan los procesos en su sistema. Comprender cómo administrar estas variables es crucial para los usuarios de Linux, desde principiantes hasta administradores avanzados.

En este laboratorio (LabEx), aprenderá cómo ver las variables de entorno existentes, crear sus propias variables temporales, modificar variables importantes del sistema como PATH y hacer que sus cambios persistan en todas las sesiones de inicio de sesión. Estas habilidades son la base de la gestión del entorno de Linux y le ayudarán a personalizar su experiencia en Linux y solucionar problemas relacionados con el entorno.

Al final de este laboratorio (LabEx), tendrá experiencia práctica con los comandos y técnicas necesarios para administrar eficazmente las variables de entorno en Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/source("Script Executing") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/export("Variable Exporting") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/echo -.-> lab-271275{{"Gestión del entorno Linux"}} linux/source -.-> lab-271275{{"Gestión del entorno Linux"}} linux/chmod -.-> lab-271275{{"Gestión del entorno Linux"}} linux/cd -.-> lab-271275{{"Gestión del entorno Linux"}} linux/mkdir -.-> lab-271275{{"Gestión del entorno Linux"}} linux/env -.-> lab-271275{{"Gestión del entorno Linux"}} linux/export -.-> lab-271275{{"Gestión del entorno Linux"}} linux/nano -.-> lab-271275{{"Gestión del entorno Linux"}} end

Visualización de Variables de Entorno

Las variables de entorno almacenan información que puede ser utilizada por el sistema y las aplicaciones. En este paso, aprenderá cómo ver las variables de entorno existentes en su sistema Linux.

Primero, creemos un directorio dedicado para nuestros ejercicios de laboratorio (LabEx):

mkdir -p ~/project/env_lab

Naveguemos hasta este directorio:

cd ~/project/env_lab

Ahora, para ver todas las variables de entorno actualmente configuradas, utilice el comando env:

env

Este comando muestra una lista de todas las variables de entorno en su sesión actual. La salida se verá similar a esto:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
HOME=/home/labex
USER=labex
SHELL=/bin/zsh
...

Cada línea muestra el nombre de una variable, seguido de un signo igual (=), seguido de su valor. Estas variables definen diversos aspectos de su entorno.

Para ver una variable de entorno específica, puede utilizar el comando echo con el nombre de la variable precedido por un signo de dólar ($). Por ejemplo, para ver el valor de la variable de su directorio de inicio:

echo $HOME

Esto debería mostrar algo como:

/home/labex

Del mismo modo, para ver su usuario actual:

echo $USER

Salida esperada:

labex

Configuración de Variables de Entorno Temporales

Las variables de entorno se pueden configurar temporalmente para la sesión actual de la shell. Esto es útil cuando necesitas una variable para una tarea específica sin realizar cambios permanentes en tu sistema.

Para configurar una variable de entorno temporal, utiliza el comando export seguido del nombre y el valor de la variable:

export TEST_VAR="Hello, Linux"

Esto crea una variable llamada TEST_VAR con el valor "Hello, Linux". Para verificar que la variable se haya configurado correctamente, utiliza echo:

echo $TEST_VAR

Deberías ver:

Hello, Linux

También puedes configurar múltiples variables a la vez:

export VAR1="First" VAR2="Second"

Verifica ambas variables:

echo $VAR1
echo $VAR2

Salida esperada:

First
Second

Para ver tus nuevas variables entre todas las variables de entorno, ejecuta:

env | grep VAR

Esto filtrará la salida para mostrar solo las líneas que contengan "VAR", como:

TEST_VAR=Hello, Linux
VAR1=First
VAR2=Second

Recuerda que las variables creadas de esta manera solo existen en la sesión actual de la shell. Si abres una nueva ventana o pestaña del terminal, estas variables no estarán disponibles allí.

Comprensión y Modificación de la Variable PATH

La variable de entorno PATH es una de las variables más importantes en Linux. Le indica al sistema dónde buscar archivos ejecutables cuando se escribe un comando.

Primero, examine su PATH actual:

echo $PATH

Verá una lista de directorios separados por dos puntos, similar a:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Cuando se escribe un comando, el sistema busca en estos directorios en orden hasta encontrar un ejecutable coincidente.

Ahora, creemos un nuevo directorio para nuestros scripts personalizados y agréguémoslo al PATH:

mkdir -p ~/project/env_lab/bin

Para agregar este directorio al principio de su PATH, utilice:

export PATH=~/project/env_lab/bin:$PATH

Esto agrega nuestro nuevo directorio al principio del PATH existente. Verifique el cambio:

echo $PATH

Ahora, su salida debería comenzar con su nuevo directorio:

/home/labex/project/env_lab/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Creemos un script simple para probar nuestro PATH modificado:

cd ~/project/env_lab/bin

Cree un archivo llamado hello utilizando el editor nano:

nano hello

Agregue el siguiente contenido al archivo:

#!/bin/bash
echo "Hello from my custom script!"

Guarde el archivo presionando Ctrl+O, luego Enter, y salga con Ctrl+X.

Haga el script ejecutable:

chmod +x hello

Ahora, desde cualquier directorio, debería poder ejecutar su script simplemente escribiendo su nombre:

cd ~/project/env_lab
hello

Debería ver:

Hello from my custom script!

Esto demuestra cómo la variable PATH ayuda al sistema a encontrar ejecutables y cómo se puede personalizar para incluir sus propios directorios de scripts.

Uso de Variables de Entorno en Comandos y Scripts

Las variables de entorno se pueden utilizar de diversas maneras dentro de comandos y scripts. En este paso, aprenderás cómo utilizar las variables de entorno de manera efectiva.

Primero, creemos una nueva variable de entorno con tu nombre:

export MY_NAME="Linux User"

Puedes usar esta variable en comandos anteponiendo $:

echo "Hello, $MY_NAME"

Esto debería mostrar la siguiente salida:

Hello, Linux User

Las variables de entorno también se pueden usar con otros comandos. Por ejemplo, creemos un directorio con el nombre de nuestra variable:

mkdir -p ~/project/env_lab/$MY_NAME

Verifica que el directorio se haya creado:

ls -la ~/project/env_lab/

En la salida deberías ver un directorio llamado "Linux User".

Ahora, creemos un script simple que utilice variables de entorno:

cd ~/project/env_lab
nano greet.sh

Agrega el siguiente contenido:

#!/bin/bash

## Use existing environment variables
echo "Hello, $MY_NAME"
echo "Your home directory is $HOME"

## Use a variable passed to the script
echo "The current time and date is $(date)"

## Create a local variable
local_var="This is a local variable"
echo $local_var

## Export a new variable from the script
export GREETING="Have a nice day!"
echo $GREETING

Guarda y sal del editor con Ctrl+O, Enter y Ctrl+X.

Haz el script ejecutable:

chmod +x greet.sh

Ejecuta el script:

./greet.sh

Verás una salida similar a la siguiente:

Hello, Linux User
Your home directory is /home/labex
The current time and date is Fri Aug 18 12:34:56 UTC 2023
This is a local variable
Have a nice day!

Después de ejecutar el script, verifica si la variable GREETING existe en tu entorno:

echo $GREETING

Deberías ver:

Have a nice day!

Esto confirma que las variables exportadas desde los scripts se convierten en parte de tu entorno de shell, mientras que las variables locales del script no persisten después de que el script termina.

Hacer que las Variables de Entorno Persistan

Hasta ahora, todas las variables de entorno que hemos configurado se perderán cuando cierres tu sesión de terminal. En este paso, aprenderás cómo hacer que las variables de entorno persistan a través de sesiones.

En Linux, se utilizan archivos de inicio de shell como .bashrc, .zshrc o .profile para configurar variables de entorno persistentes. Dado que nuestro entorno utiliza zsh, usaremos el archivo .zshrc.

Primero, abramos el archivo .zshrc:

nano ~/.zshrc

Navega hasta el final del archivo (usa Ctrl+End o las flechas) y agrega las siguientes líneas:

## Custom environment variables
export PERSIST_VAR="This variable will persist"
export PATH=$HOME/project/env_lab/bin:$PATH

Guarda y sal con Ctrl+O, Enter y Ctrl+X.

Para aplicar estos cambios sin cerrar y volver a abrir tu terminal, ejecuta el archivo:

source ~/.zshrc

Ahora verifica que tu nueva variable esté configurada:

echo $PERSIST_VAR

Deberías ver:

This variable will persist

Ahora, incluso si cierras y vuelves a abrir tu terminal, esta variable seguirá estando disponible.

Para demostrarlo, simulemos cerrar y volver a abrir la terminal iniciando una nueva sesión de shell:

zsh

Verifica si tu variable sigue estando disponible:

echo $PERSIST_VAR

Todavía deberías ver:

This variable will persist

Sal de esta shell para volver a tu sesión anterior:

exit

Este método de agregar variables de entorno al archivo de configuración de tu shell asegura que estén disponibles cada vez que inicies sesión en tu sistema.

Para variables de entorno de todo el sistema que deben estar disponibles para todos los usuarios, los administradores pueden agregarlas a archivos en /etc/profile.d/ o editar /etc/environment.

Resumen

En este laboratorio, has aprendido los conceptos fundamentales de la gestión de variables de entorno en Linux, que son esenciales para personalizar tu experiencia en Linux y controlar el comportamiento de las aplicaciones.

Los conceptos clave cubiertos incluyen:

  • Ver variables de entorno con el comando env y mostrar variables específicas con echo $VARIABLE_NAME
  • Configurar variables de entorno temporales utilizando el comando export
  • Comprender y modificar la variable PATH para controlar dónde Linux busca programas ejecutables
  • Utilizar variables de entorno en comandos y scripts para hacer tu código más flexible
  • Hacer que las variables de entorno persistan agregándolas a los archivos de configuración del shell

Estas habilidades forman la base de la gestión del entorno en Linux y son aplicables en diversas distribuciones de Linux. Comprender las variables de entorno es crucial para usuarios de Linux de todos los niveles, desde principiantes hasta administradores avanzados y desarrolladores.

Las variables de entorno te ayudan a personalizar tu experiencia en el shell, controlar el comportamiento de las aplicaciones y construir scripts más flexibles. A medida que continúes tu viaje en Linux, descubrirás que la gestión adecuada del entorno se vuelve cada vez más importante para tareas más complejas, como el desarrollo de software, la administración de sistemas y la resolución de problemas.