Demonio (daemon)

Proceso que se ejecuta en segundo plano, sin terminal asociada, normalmente lanzado al arranque para ofrecer un servicio (web, SSH, base de datos).

ejemplo sshd, apache2, mysqld, cron. Su nombre suele terminar en "d".
📡 Practicar: Procesos y Señales Avanzado →

Proceso zombie

Proceso que ha terminado pero cuya entrada sigue en la tabla de procesos porque su padre aún no ha leído su código de salida (no hizo wait). No consume CPU ni memoria, solo una entrada.

ejemplo En ps aux aparece con estado Z (defunct). Se limpia cuando el padre hace wait() o muere.
📡 Practicar: Procesos y Señales Avanzado →

Proceso huérfano

Proceso cuyo padre ha terminado antes que él. Es adoptado automáticamente por init/systemd (PID 1), que se encargará de recoger su salida.

ejemplo Un comando lanzado con & cuyo shell se cierra queda huérfano y pasa a PPID 1.
📡 Practicar: Procesos y Señales Avanzado →

Inode

Estructura de datos que almacena los metadatos de un fichero (permisos, propietario, tamaño, fechas, punteros a bloques) pero NO su nombre. El nombre vive en el directorio, que asocia nombre → número de inode.

ejemplo ls -i muestra el inode. Un hard link es otro nombre apuntando al mismo inode.
👤 Practicar: Usuarios y Permisos →

Señal

Mecanismo de comunicación asíncrona del kernel hacia un proceso para notificarle un evento o pedirle que actúe (terminar, pararse, recargar).

ejemplo SIGTERM(15) pide terminar, SIGKILL(9) fuerza, SIGHUP(1) recarga config. kill -15 PID.
📡 Practicar: Procesos y Señales Avanzado →

Descriptor de fichero

Número entero que el proceso usa para referirse a un fichero o flujo abierto. Por convención 0=stdin, 1=stdout, 2=stderr.

ejemplo comando 2> error.log redirige el descriptor 2 (stderr).
📋 Practicar: Logs y Redirección →

Variable de entorno

Variable disponible para un proceso y sus hijos, que configura su comportamiento. Se crean con export y se heredan a los subprocesos.

ejemplo export EDITOR=nano. Las ves todas con env o printenv.
📂 Practicar: Variables de Entorno y Rutas →

PATH

Variable de entorno con la lista de directorios (separados por :) donde el shell busca los ejecutables cuando escribes un comando sin ruta.

ejemplo echo $PATH → /usr/local/bin:/usr/bin:/bin. which comando dice cuál se ejecuta.
📂 Practicar: Variables de Entorno y Rutas →

Shebang

Primera línea de un script que empieza por #! e indica al sistema qué intérprete usar para ejecutarlo.

ejemplo #!/bin/bash al inicio. Sin él, el script se ejecuta con el shell por defecto y puede fallar.
🖥️ Practicar: Bash Scripting →

stdin / stdout / stderr

Los tres flujos estándar de un proceso: entrada (0), salida normal (1) y salida de error (2). Permiten encadenar y redirigir datos.

ejemplo comando < entrada > salida 2> errores
📋 Practicar: Logs y Redirección →

Pipe (tubería)

Conecta la salida estándar de un comando con la entrada estándar del siguiente, encadenando procesos sin ficheros intermedios.

ejemplo ps aux | grep apache | wc -l
⚙️ Practicar: Procesos y Servicios →

Redirección

Cambiar el destino u origen de un flujo estándar hacia/desde un fichero. > sobreescribe, >> añade, 2> redirige errores, &> ambos.

ejemplo echo hola > f.txt (crea/sobreescribe); echo mas >> f.txt (añade).
📋 Practicar: Logs y Redirección →

Subshell

Shell hijo creado para ejecutar comandos en un entorno separado. Los cambios de variables o directorio dentro del subshell no afectan al shell padre.

ejemplo ( cd /tmp; ls ) no cambia tu directorio actual. $(comando) usa un subshell.
🖥️ Practicar: Bash Scripting →

Fork

Llamada del sistema que crea un proceso nuevo (hijo) como copia del actual (padre). Es la base de cómo se crean los procesos en Linux.

ejemplo El shell hace fork() para lanzar cada comando externo.
📡 Practicar: Procesos y Señales Avanzado →

Exec

Llamada del sistema que reemplaza la imagen del proceso actual por otro programa, sin crear un proceso nuevo (mismo PID).

ejemplo Tras fork(), el hijo hace exec() para cargar el comando. exec en bash sustituye el shell.
📡 Practicar: Procesos y Señales Avanzado →

PID / PPID

PID es el identificador único de un proceso. PPID es el PID de su proceso padre. init/systemd tiene PID 1.

ejemplo ps -o pid,ppid,cmd. Un huérfano tiene PPID 1.
⚙️ Practicar: Procesos y Servicios →

UID / GID

UID identifica al usuario y GID al grupo, como números. El kernel trabaja con números; los nombres están en /etc/passwd y /etc/group.

ejemplo root tiene UID 0. id muestra tu UID y GIDs.
👤 Practicar: Usuarios y Permisos →

Permiso

Atributo que controla quién puede leer (r=4), escribir (w=2) o ejecutar (x=1) un fichero, para propietario, grupo y otros.

ejemplo chmod 755 script.sh → rwxr-xr-x. ls -l muestra los permisos.
👤 Practicar: Usuarios y Permisos →

ACL

Lista de Control de Acceso: permisos extendidos más finos que rwx, permitiendo dar permisos a usuarios/grupos concretos además del modelo clásico.

ejemplo setfacl -m u:joel:rw fichero ; getfacl fichero
👤 Practicar: Usuarios y Permisos →

Crontab

Tabla de tareas programadas de un usuario. Cada línea define cuándo (5 campos de tiempo) y qué comando ejecutar de forma periódica.

ejemplo crontab -e para editar; 0 3 * * * /backup.sh corre a las 3:00 cada día.
⏰ Practicar: Cron y Tareas Programadas →

Log

Registro cronológico de eventos que generan el sistema o las aplicaciones, fundamental para diagnosticar problemas y auditar.

ejemplo /var/log/syslog, /var/log/auth.log. tail -f para seguirlos en vivo.
📋 Practicar: Logs y Redirección →

Rotación de logs

Proceso de archivar y comprimir logs antiguos y empezar uno nuevo, para que no crezcan sin límite. Gestionado por logrotate.

ejemplo /etc/logrotate.conf. Genera syslog.1, syslog.2.gz, etc.
📋 Practicar: Logs y Redirección →

Montaje

Acción de conectar un sistema de ficheros (disco, partición, USB, red) a un directorio del árbol para poder acceder a su contenido.

ejemplo mount /dev/sdb1 /mnt ; df -h muestra lo montado; se desmonta con umount.
🌐 Practicar: Redes y Configuración →

Sistema de ficheros

Forma en que se organizan y almacenan los datos en un dispositivo (estructura de inodes, directorios y bloques). Define cómo se guardan ficheros y metadatos.

ejemplo ext4, xfs, btrfs. mkfs.ext4 /dev/sdb1 lo crea.
👤 Practicar: Usuarios y Permisos →

Socket

Extremo de una comunicación entre procesos, local o por red. Combina una dirección IP y un puerto para identificar el punto de conexión.

ejemplo ss -tulpn lista sockets en escucha. 0.0.0.0:80 es un socket TCP.
🌐 Practicar: Redes y Configuración →

Puerto

Número (0-65535) que identifica un servicio dentro de una máquina, permitiendo que coexistan varios servicios sobre la misma IP.

ejemplo 80=HTTP, 443=HTTPS, 22=SSH, 3306=MySQL. ss -tulpn muestra qué escucha.
🌐 Practicar: Redes y Configuración →

Interfaz de red

Punto de conexión del sistema a una red, físico (eth0) o virtual (lo, docker0), con su propia configuración de IP.

ejemplo ip addr lista las interfaces; ip link set eth0 up la activa.
🌐 Practicar: Redes y Configuración →

Dirección IP

Identificador numérico de un dispositivo en una red. IPv4 son 4 octetos (0-255) separados por puntos.

ejemplo 192.168.1.10. ip addr la muestra junto a la máscara.
🌐 Practicar: Redes y Configuración →

Máscara de red

Define qué parte de la IP es la red y qué parte el host, determinando el tamaño de la subred.

ejemplo 255.255.255.0 (/24) → 254 hosts útiles. 192.168.1.0/24.
🌐 Practicar: Redes y Configuración →

Gateway

Puerta de enlace: router al que se envían los paquetes destinados a otras redes (por defecto, todo lo que no es local).

ejemplo ip route → default via 192.168.1.1. Sin gateway no hay salida a Internet.
🌐 Practicar: Redes y Configuración →
← Dashboard 📖 Apuntes 🛠️ Scripts reales