Pixelaula.
Shell y archivos · Lección 2 de 5

Lo que hereda un proceso

Una variable puede quedarse en tu shell o viajar a sus hijos. Al terminar sabrás controlar eso y manejar varios trabajos a la vez.

⏱ 25–35 min▶ Video de 76 s🧪 Laboratorio con 4 misiones
00 · En 76 segundos

Primero, la idea completa

Mira el video entero o salta a la parte que quieras repasar. Después, cada idea tiene su propia escena para tocarla.

    01 · Valores con nombre

    Variables de shell y de entorno

    Las variables guardan valores que los procesos leen y usan para cambiar su comportamiento. Se leen poniendo $ delante del nombre: echo $HOME. Hay dos tipos:

    • Variables de shell: valen solo en la shell donde se crearon y no se heredan a los procesos hijos. Se crean con NOMBRE=valor, sin espacios alrededor del =, y set las lista todas.
    • Variables de entorno: están configuradas para toda la shell y sí se heredan a cada proceso que lanza. export NOMBRE convierte una variable de shell en variable de entorno, unset NOMBRE la borra y env lista solo las de entorno.
    Escena 1

    Una shell y la bash hija que abre. Crea una variable, ábrele una hija y fíjate qué ve la hija antes y después de export.

    02 · Las que ya están

    Variables comunes

    VariableQué guarda
    HOMEla carpeta personal del usuario actual
    HOSTNAMEel nombre de la máquina
    PATHla lista de carpetas, separadas por :, donde la shell busca los programas
    PWD · OLDPWDla carpeta de trabajo actual · la anterior al último cd
    RANDOMun entero al azar entre 0 y 32767
    SHELL · TERMla shell en uso · el emulador de terminal
    UID · USERel identificador numérico del usuario · su nombre
    _el último argumento de la orden anterior
    ? · $ · 0el código de salida de la última orden · el PID de la shell · el nombre del proceso actual
    Escena 2

    Escribes el nombre de un programa. La shell lo busca carpeta por carpeta en PATH, en orden, y ejecuta el primero que encuentra.

    03 · Varios a la vez

    Control de trabajos

    Por defecto, una orden corre en primer plano (foreground): toma la pantalla y el teclado hasta que termina. El control de trabajos (job control) maneja las órdenes en segundo plano (background):

    • orden & la lanza directo en segundo plano.
    • Ctrl+Z detiene la orden en primer plano; luego bg la reanuda en segundo plano y fg la trae de vuelta al primero.
    • jobs lista los trabajos de la shell; ps j -A muestra todos los procesos; kill termina uno por su número de trabajo (%1) o su PID.
    • Al cerrar la shell mueren sus trabajos. Para que uno siga corriendo después, se lanza con nohup.
    Escena 3

    La vida de un trabajo. Lánzalo y muévelo entre estados; luego cierra la terminal y mira si sobrevive.

    04 · Escribir menos

    Alias y atajos

    Un alias acorta una orden que usas mucho: alias e='grep error', y desde ahí e archivo.log equivale a grep error archivo.log. Se quita con unalias e. Para que dure, se pone en ~/.bashrc. En la línea de comandos también hay atajos de teclado:

    Ctrl+A · Ctrl+Eir al inicio · al final de la línea
    Ctrl+F · Ctrl+Bun carácter adelante · atrás
    Alt+F · Alt+Buna palabra adelante · atrás
    Ctrl+D · Ctrl+Hborrar el carácter actual · el de la izquierda
    Ctrl+Wborrar la palabra a la izquierda
    Ctrl+K · Ctrl+Uborrar todo a la derecha · a la izquierda del cursor
    Ctrl+Llimpiar la pantalla
    Ctrl+Ccancelar la orden
    Ctrl+_deshacer (solo en bash)
    Ctrl+R · Ctrl+Gbuscar en el historial · cancelar la búsqueda

    Bash, de los años ochenta, es la shell más usada, pero no la más amigable. Algunas alternativas con más funciones: fish, zsh, PowerShell, Oil Shell y Murex.

    05 · Predice

    Antes de leer la respuesta

    Laboratorio

    Tu turno: controla tu shell

    Comprueba por ti misma qué hereda una shell hija, crea un alias propio, mueve un trabajo entre primer y segundo plano, y deja corriendo un proceso que sobreviva a que cierres la terminal. El panel muestra las variables y los trabajos de la shell actual.

    Repaso

    Comprueba lo que entendiste

    Cada respuesta incorrecta explica por qué parece correcta y en qué falla.