Linux está en todas partes. Está en el 96% de los servidores web del mundo, en el 100% de las 500 supercomputadoras más potentes del planeta, en tu móvil Android, en tu smart TV, en tu router, en los coches Tesla, en la Estación Espacial Internacional y hasta en el rover Perseverance de Marte. Y lo mejor: es gratuito, open source y lo puedes usar hoy mismo en tu ordenador.

Pero Linux también intimida. Durante décadas se ha asociado a terminales negras, comandos crípticos y usuarios con barba. Esa imagen ya no refleja la realidad: en 2026, distribuciones como Ubuntu, Linux Mint, Fedora o Pop!_OS son tan fáciles de usar como Windows o macOS, con interfaces gráficas modernas, tiendas de aplicaciones y compatibilidad con la mayoría del software que necesitas.
Esta guía completa de Linux 2026 es el resultado de años documentando el sistema operativo más poderoso del mundo en veselin.es. La he reescrito y ampliado por completo para cubrir todo lo que necesitas: desde qué es Linux y cómo instalarlo, hasta cómo administrar servidores profesionales, escribir scripts de automatización, gestionar contenedores y asegurar tus sistemas.
Tanto si nunca has abierto una terminal como si ya administras servidores en producción, esta guía te llevará de principiante a avanzado con ejemplos prácticos, comandos reales y enlaces a guías específicas para profundizar en cada tema.
¿Qué vas a aprender en esta guía?
- Qué es Linux, su historia y por qué domina servidores, móviles y supercomputadoras
- Las mejores distribuciones de 2026 y cómo elegir la tuya
- Cómo instalar Linux paso a paso (incluido dual boot con Windows)
- La terminal y los comandos esenciales que todo usuario debe conocer
- Cómo funciona el sistema de archivos y la jerarquía FHS
- Gestión de usuarios, permisos y seguridad
- Cómo manejar paquetes en las principales familias de distros
- Entornos de escritorio y personalización
- Administración de servidores: SSH, systemd, logs, cron, backups y monitorización
- Redes en Linux: firewalls, VPN y diagnóstico
- Scripting con Bash para automatizar tareas
- Contenedores y virtualización: Docker, Kubernetes, LXC, Proxmox
- Seguridad en Linux: hardening, cifrado, análisis de logs y forense
- Linux en el mundo real: servidores, cloud, IoT, Raspberry Pi y el espacio
- Una ruta de aprendizaje clara según tu perfil
- FAQ con 12 preguntas frecuentes
📑 Tabla de contenidos
- ¿Qué es Linux? Historia y fundamentos
- Distribuciones de Linux
- Instalación de Linux
- La terminal y comandos esenciales
- Sistema de archivos y estructura
- Gestión de usuarios y permisos
- Gestión de paquetes
- Entornos de escritorio
- Administración de servidores Linux
- Redes en Linux
- Scripting con Bash
- Contenedores y virtualización
- Seguridad en Linux
- Linux en el mundo real
- Aprender Linux: rutas y recursos
- Conclusión
- Preguntas frecuentes
1. ¿Qué es Linux? Historia y fundamentos
1.1 Definición y diferencias con GNU/Linux
Linux es un kernel (núcleo) de sistema operativo creado por Linus Torvalds en 1991. Es la parte del sistema que se comunica directamente con el hardware y gestiona recursos como la CPU, la memoria y los dispositivos.
Pero Linux, por sí solo, no es un sistema operativo completo. Necesita herramientas, bibliotecas y aplicaciones para funcionar. La mayoría de esas herramientas provienen del proyecto GNU, iniciado por Richard Stallman en 1983.
Por eso, el nombre técnicamente correcto es GNU/Linux. Sin embargo, en el lenguaje cotidiano se usa «Linux» para referirse a todo el sistema operativo.
Cuando alguien dice «uso Linux», en realidad está usando una distribución que combina:
- El kernel Linux
- Herramientas GNU
- Un gestor de paquetes
- Un entorno de escritorio
- Aplicaciones
Si quieres profundizar en la historia de GNU, consulta Gnu Linux: Qué es, características, ventajas y cómo empezar a usarlo.
1.2 Breve historia: de Unix a Linux
1969 — Unix: Ken Thompson y Dennis Ritchie crean Unix en Bell Labs. Es el ancestro de casi todos los sistemas modernos.
1983 — GNU: Richard Stallman lanza el proyecto GNU para crear un sistema operativo libre tipo Unix.
1987 — MINIX: Andrew Tanenbaum crea un Unix minimalista con fines educativos.
1991 — Linux: Linus Torvalds, estudiante finlandés de 21 años, publica la primera versión del kernel Linux. Su famoso mensaje en Usenet: «I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu)».
1992 — Licencia GPL: Linux se libera bajo GPL, lo que permite a cualquiera usarlo, modificarlo y redistribuirlo.
1993 — Debian y Red Hat: Nacen dos de las distribuciones más influyentes.
1998 — IBM y Oracle: Grandes empresas empiezan a apoyar Linux.
2004 — Ubuntu: Mark Shuttleworth lanza Ubuntu, popularizando Linux para usuarios comunes.
2007 — Android: Google lanza Android basado en el kernel Linux.
2011 — Raspberry Pi: Se populariza Linux en el mundo del IoT y la educación.
2013 — Docker: Revoluciona el despliegue de aplicaciones basadas en Linux.
2020-2026 — Era moderna: Linux domina servidores, cloud, móviles, supercomputadoras y sistemas embebidos.

1.3 El kernel y sus componentes
El kernel Linux es el corazón del sistema. Sus funciones principales:
- Gestión de procesos: qué se ejecuta, cuándo y con qué prioridad.
- Gestión de memoria: asignación y liberación de RAM y swap.
- Sistema de archivos: lectura y escritura en discos.
- Controladores de dispositivos: comunicación con hardware.
- Gestión de red: pila TCP/IP, interfaces, sockets.
- Seguridad: permisos, namespaces, cgroups.
Monolítico y modular: el kernel Linux es monolítico (todo en un solo proceso) pero permite cargar y descargar módulos en tiempo real.
Versiones: el kernel se versiona como X.Y.Z (mayor.menor.parche). La versión actual en 2026 es la 6.x.
LTS vs mainline: algunos kernels tienen soporte a largo plazo (LTS) de varios años, ideales para servidores.
Para consultar la versión de tu kernel:
uname -r1.4 La filosofía Unix
Linux hereda del Unix una filosofía de diseño que lo ha hecho tan potente y duradero:
- Haz una cosa y hazla bien. Cada programa debe hacer una tarea concreta.
- Todo es un archivo. Dispositivos, procesos y conexiones se tratan como archivos.
- Composición mediante pipes. Combina programas pequeños para resolver problemas complejos.
- Texto plano como formato universal.
- La configuración vive en archivos de texto editables.
Esta filosofía es la razón por la que Linux es tan flexible, automatizable y apto para servidores.
Ejemplo de composición: contar cuántos procesos están corriendo como root:
ps aux | grep "^root" | wc -lCada comando hace una cosa pequeña; combinados, resuelven un problema completo.
1.5 Por qué Linux domina el mundo
En 2026, Linux está en:
- 96% de los servidores web del mundo (según W3Techs).
- 100% de las top 500 supercomputadoras.
- ~72% de los smartphones (Android está basado en Linux).
- Mayoría de servicios cloud (AWS, Azure, GCP).
- Mayoría de dispositivos IoT.
- Smart TVs, routers, coches, drones, satélites.
Razones del dominio:
- Gratis y open source.
- Altísima estabilidad: servidores funcionan durante años sin reiniciar.
- Seguridad: arquitectura de permisos robusta, menos malware.
- Eficiencia: funciona bien en hardware modesto.
- Escalable: desde Raspberry Pi hasta supercomputadoras.
- Comunidad enorme: soporte, documentación y desarrollo.
- Personalizable: puedes modificarlo todo.
Si quieres saber por qué Debian es la elección habitual para servidores, consulta Razones para elegir Debian como sistema operativo para tu servidor.
1.6 Linux vs Windows vs macOS
| Aspecto | Linux | Windows | macOS |
|---|---|---|---|
| Precio | Gratis | Licencia de pago | Solo en hardware Apple |
| Código | Abierto | Cerrado | Cerrado |
| Personalización | Total | Limitada | Muy limitada |
| Seguridad | Alta | Media | Alta |
| Compatibilidad gaming | Creciente (Steam Proton) | Total | Limitada |
| Software profesional | Alternativas open source | Estándar en muchos sectores | Estándar en diseño/creativo |
| Servidores | Dominante | Minoritario | Minoritario |
| Actualizaciones | Tú decides | Forzadas | Forzadas |
Conclusión: cada SO tiene su lugar. Linux destaca en servidores, desarrollo, privacidad y eficiencia.
2. Distribuciones de Linux
2.1 ¿Qué es una distribución?
Una distribución (o «distro») es un sistema operativo completo construido sobre el kernel Linux. Incluye:
- El kernel Linux
- Herramientas GNU
- Un gestor de paquetes
- Un instalador
- Un entorno de escritorio (opcional)
- Aplicaciones preinstaladas
- Un ciclo de actualizaciones
Existen más de 600 distribuciones activas, pero solo unas pocas decenas son realmente relevantes.

2.2 Familias de distribuciones
Las distros se agrupan en familias según su origen:
Familia Debian:
- Debian (base)
- Ubuntu
- Linux Mint
- Pop!_OS
- Kali Linux
- Raspberry Pi OS
- Gestor de paquetes: APT (
.deb)
Familia Red Hat:
- Red Hat Enterprise Linux (RHEL)
- Fedora
- CentOS Stream
- Rocky Linux
- AlmaLinux
- Gestor de paquetes: DNF/YUM (
.rpm)
Familia Arch:
- Arch Linux
- Manjaro
- EndeavourOS
- BlackArch
- Gestor de paquetes: Pacman
Familia SUSE:
- openSUSE Leap
- openSUSE Tumbleweed
- SUSE Linux Enterprise
- Gestor de paquetes: Zypper
Otras familias:
- Gentoo: compilación desde código fuente.
- Slackware: la más antigua aún activa.
- Alpine: minimalista para contenedores.
- NixOS: configuración declarativa.
2.3 Las 10 mejores distribuciones de 2026
Para principiantes:
- Linux Mint: interfaz familiar, muy estable, ideal si vienes de Windows.
- Ubuntu: la más popular, enorme comunidad y soporte.
- Pop!_OS: excelente para desarrollo y gaming, creada por System76.
- Zorin OS: diseñada específicamente para ex-usuarios de Windows.
Para usuarios avanzados:
- Fedora: innovadora, adelantada a su tiempo, patrocinada por Red Hat.
- Debian: la «roca» de Linux, extremadamente estable.
- Arch Linux: control total, instalación manual, rolling release.
- openSUSE Tumbleweed: rolling release estable.
Para propósitos específicos:
- Kali Linux: hacking ético y pentesting.
- Raspberry Pi OS: para Raspberry Pi.
2.4 Cómo elegir tu distribución
Pregúntate:
- ¿Para qué la usarás? Escritorio, servidor, desarrollo, pentesting, gaming.
- ¿Qué experiencia tienes? Principiante, intermedio, avanzado.
- ¿Qué hardware tienes? Moderno, antiguo, recursos limitados.
- ¿Qué software necesitas? Ofimática, diseño, desarrollo, juegos.
- ¿Cuánto tiempo quieres dedicar al mantenimiento? Poco, medio, mucho.
Recomendaciones rápidas:
| Perfil | Distro recomendada |
|---|---|
| Principiante desde Windows | Linux Mint, Zorin OS |
| Usuario general | Ubuntu, Pop!_OS |
| Desarrollador | Fedora, Pop!_OS, Ubuntu |
| Servidor | Debian, Ubuntu Server, Rocky Linux |
| Hacking ético | Kali Linux, Parrot OS |
| Usuario avanzado | Arch, Fedora, openSUSE |
| Hardware antiguo | Lubuntu, Xubuntu, Puppy Linux, antiX |
| Gaming | Pop!_OS, Nobara, SteamOS |
| Privacidad | Tails, Qubes OS, Whonix |
Si dudas entre Debian y Ubuntu, consulta Debian o Ubuntu en 2023: ¿Qué sistema operativo Linux es mejor para ti?.
2.5 Distros para hacking ético
Si te interesa la ciberseguridad:
- Kali Linux: la referencia. +600 herramientas preinstaladas. Guía completa: Guía Completa de Kali Linux 2026: Instalación en VirtualBox, Herramientas y Pentesting
- Parrot OS: ligera, centrada en privacidad. ParrotOS 6.1 Lorikee: Guía Completa
- BlackArch: basada en Arch, +2.800 herramientas. BlackArch Linux: Guía Completa para Pentesting y Ciberseguridad
Comparativa: Kali Linux vs Parrot OS: Comparación y Análisis Completo en 2026 y Mejores Distribuciones Linux Para Hacking Ético.
2.6 Distros ligeras para hardware antiguo
Si tienes un ordenador con pocos recursos:
- Lubuntu: Ubuntu con LXQt.
- Xubuntu: Ubuntu con XFCE.
- Puppy Linux: ultraligera, corre en RAM.
- antiX: Debian sin systemd, muy ligera.
- MX Linux: Debian + XFCE, excelente.
Referencias: Ventajas de Usar Distribuciones Ligeras en Hardware Antiguo: Una Guía Completa y Cómo optimizar Linux para equipos con pocos recursos.
3. Instalación de Linux
3.1 Requisitos previos
Antes de instalar Linux, verifica:
Hardware mínimo (escritorio moderno):
- CPU: 2 GHz dual core.
- RAM: 4 GB (8 GB recomendado).
- Disco: 25 GB libres.
- USB: 4 GB para el instalador.
Hardware mínimo (servidor):
- CPU: 1 GHz.
- RAM: 512 MB (1 GB recomendado).
- Disco: 10 GB.
Antes de empezar:
- Backup de tus datos importantes.
- Anota tu configuración de red (IP, DNS).
- Comprueba compatibilidad de hardware (especialmente WiFi y GPU).
- Elige tu distro.
- Descarga la ISO desde la web oficial.
3.2 Crear USB booteable
Herramientas recomendadas:
- Rufus (Windows): la más sencilla.
- balenaEtcher (multiplataforma): muy fácil.
- Ventoy (avanzado): múltiples ISOs en un USB.
- dd (Linux/macOS): desde la terminal.
Ejemplo con dd:
sudo dd if=ubuntu-24.04.iso of=/dev/sdX bs=4M status=progress oflag=sync⚠️ Reemplaza /dev/sdX con tu dispositivo USB. Un error aquí puede borrar tu disco duro.
3.3 Particionado del disco
El particionado es la decisión más delicada. Esquema básico:
Instalación sencilla (una sola partición):
/(raíz): todo el disco.
Instalación recomendada (separar /home):
/: 30-50 GB./home: resto del disco.swap: 2-8 GB (o archivo swap).
Instalación avanzada (servidor):
/boot: 500 MB (EFI)./: 30 GB./var: 20 GB./home: resto.swap: 2x RAM si hibernas.
Sistemas de archivos:
- ext4: el estándar, estable y rápido.
- btrfs: snapshots, checksums, compresión.
- xfs: excelente para servidores grandes.
- zfs: avanzado, con integridad de datos.
Comparativa: Comparativa de Sistemas de Archivos en Linux: ext4 vs. Btrfs vs. XFS
3.4 Proceso de instalación (Ubuntu/Debian)
Pasos generales:
- Arranca desde el USB: reinicia y entra en el menú de arranque (F12, F2, Esc según el fabricante).
- Selecciona «Try Ubuntu» o «Install Ubuntu».
- Idioma y teclado.
- Conexión a internet (opcional pero recomendado).
- Tipo de instalación:
- Borrar disco (⚠️ borra todo).
- Instalar junto a Windows (dual boot).
- Algo más (particionado manual).
- Zona horaria.
- Usuario y contraseña.
- Esperar a que termine (15-30 min).
- Reiniciar y retirar el USB.
3.5 Dual boot con Windows
Para tener Linux y Windows en el mismo equipo:
- Backup completo (obligatorio).
- Desfragmenta Windows.
- Libera espacio para Linux (mínimo 30 GB).
- Desactiva Fast Startup en Windows (Panel de control > Energía).
- Desactiva Secure Boot en la BIOS (algunas distros lo requieren).
- Instala Linux eligiendo «Instalar junto a Windows».
- GRUB gestionará el arranque dual.
Consejo: instala Windows primero, Linux después. Windows sobrescribe el gestor de arranque.
3.6 Máquinas virtuales para probar
Si no quieres arriesgar tu sistema, prueba Linux en una VM:
- VirtualBox: gratuito, fácil de usar. VirtualBox: Una Guía Completa
- VMware Workstation Player: gratuito para uso personal. VMware: Una Guía Completa
- Proxmox VE: ideal para laboratorios. Guía completa sobre Proxmox: Todo lo que necesitas saber para administrar tus servidores
Comparativa: Máquinas Virtuales: Proxmox, VMware y VirtualBox
3.7 Primeros pasos tras instalar
Una vez instalado:
- Actualiza el sistema:
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo dnf upgrade --refresh # Fedora
sudo pacman -Syu # Arch- Instala códecs multimedia:
sudo apt install ubuntu-restricted-extras # Ubuntu- Instala software esencial: navegador, ofimática, editor.
- Configura el firewall:
sudo ufw enable- Configura backups automáticos.
- Explora el escritorio.
- Aprende la terminal (siguiente sección).
3.8 Actualizar de una versión a otra
Para actualizar entre versiones mayores:
Ubuntu: sudo do-release-upgrade
Debian: cambiar bookworm a trixie en /etc/apt/sources.list y ejecutar sudo apt update && sudo apt full-upgrade.
Guía completa: Actualizar Debian 11 a Debian 12: Paso a Paso
3.9 Configurar IP estática (servidores)
En servidores, es habitual configurar una IP estática. Con Netplan (Ubuntu moderno):
# /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
ens33:
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]Aplicar con:
sudo netplan applyGuía: IP estática en Ubuntu Server 22.04 y actualización a 24.04
4. La terminal y comandos esenciales
4.1 Por qué la terminal es tu mejor amiga
Al principio, la terminal asusta. Pero cuando la dominas, descubres que es mucho más rápida y potente que cualquier interfaz gráfica. Las razones:
- Velocidad: hacer una tarea con un comando puede ahorrarte 10 clics.
- Automatización: puedes scriptear tareas repetitivas.
- Potencia: comandos que combinan herramientas logran cosas imposibles gráficamente.
- Disponibilidad universal: funciona igual en cualquier distro.
- Conexión remota: todo lo que haces local lo puedes hacer por SSH.
- Documentación: la mayoría de guías y soluciones están en comandos.
Regla de oro: la terminal no es peligrosa si sabes lo que haces. Sí puede serlo si copias y pegas comandos que no entiendes, especialmente con sudo.
4.2 Estructura de un comando
Sintaxis básica:
comando [opciones] [argumentos]- comando: el programa a ejecutar (
ls,cp,grep). - opciones: modificadores, normalmente con
-o--(-l,--help). - argumentos: sobre qué actúa (archivos, directorios, texto).
Ejemplo:
ls -la /home/usuariols: listar.-la: opciones (long + all)./home/usuario: directorio objetivo.
Consejo: usa man comando para ver el manual completo, o comando --help para un resumen rápido.
4.3 Navegación básica
pwd (print working directory):
Muestra el directorio actual.
pwd
<em># /home/usuario</em>ls (list):
Lista archivos y directorios.
ls # listado simple
ls -l # formato largo
ls -la # incluye archivos ocultos
ls -lh # tamaños legibles (K, M, G)
ls -lt # ordenado por fechacd (change directory):
Cambia de directorio.
cd /var/log # ruta absoluta
cd Documents # ruta relativa
cd .. # subir un nivel
cd ~ # ir al home
cd - # volver al directorio anteriortree:
Muestra estructura jerárquica.
tree -L 2 /etc(Requiere instalación: sudo apt install tree)
4.4 Gestión de archivos y directorios
Crear:
touch archivo.txt # crear archivo vacío
mkdir carpeta # crear carpeta
mkdir -p ruta/a/carpeta # crear rutas anidadasCopiar:
cp archivo.txt copia.txt
cp -r carpeta/ copia/ # recursivo
cp -v archivo.txt /tmp/ # verbosoMover/renombrar:
mv archivo.txt /tmp/
mv viejo.txt nuevo.txtEliminar:
rm archivo.txt
rm -r carpeta/ # recursivo
rm -rf carpeta/ # forzado (¡CUIDADO!)
rmdir carpeta # solo si está vacía⚠️ Aviso: rm -rf / borra todo el sistema. No hay papelera de reciclaje en la terminal.
Ver archivos:
cat archivo.txt # muestra todo
less archivo.txt # paginado (q para salir)
head -n 20 archivo.txt # primeras 20 líneas
tail -n 20 archivo.txt # últimas 20 líneas
tail -f /var/log/syslog # sigue el archivo en tiempo real4.5 Búsqueda de archivos y contenido
find: busca archivos por criterios.
find /home -name "*.pdf"
find / -size +100M # archivos >100 MB
find . -mtime -1 # modificados en las últimas 24h
find . -type f -exec chmod 644 {} \; # aplicar comando a cada resultadolocate: búsqueda rápida en base de datos indexada.
sudo updatedb # actualizar índice
locate archivo.txtgrep: busca patrones de texto en archivos.
grep "error" /var/log/syslog
grep -r "TODO" . # recursivo
grep -i "warning" archivo # case insensitive
grep -v "excluir" archivo # invertir coincidencia
grep -E "regex" archivo # expresiones regularesCombinado con pipes:
ps aux | grep nginx
cat access.log | grep "404" | wc -lGuía completa de grep: [ENLACE: /usos-avanzados-de-grep-sacale-el-maximo-provecho-a-este-comando/]
which y whereis: localiza ejecutables.
which python3
whereis nginx4.6 Permisos: chmod, chown, umask
Sistema de permisos:
Cada archivo tiene 3 tipos de permisos para 3 categorías:
- r (read): leer.
- w (write): escribir.
- x (execute): ejecutar.
Categorías: u (usuario propietario), g (grupo), o (otros).
Ver permisos:
ls -l archivo.sh
# -rwxr-xr-- 1 usuario grupo 1024 Jan 1 12:00 archivo.shrwxpara el propietario.r-xpara el grupo.r--para otros.
chmod: cambia permisos.
Modo simbólico:
chmod u+x archivo.sh # añade ejecución al propietario
chmod g-w archivo.txt # quita escritura al grupo
chmod o+r archivo.txt # añade lectura a otros
chmod a+x script.sh # añade ejecución a todosModo octal:
chmod 755 script.sh # rwxr-xr-x
chmod 644 archivo.txt # rw-r--r--
chmod 600 clave.pem # rw-------
chmod 700 carpeta/ # rwx------Equivalencias octales:
- 4 = r
- 2 = w
- 1 = x
- 7 = rwx (4+2+1)
- 6 = rw- (4+2)
- 5 = r-x (4+1)
chown: cambia propietario y grupo.
sudo chown usuario archivo.txt
sudo chown usuario:grupo archivo.txt
sudo chown -R usuario:grupo carpeta/umask: permisos por defecto de nuevos archivos.
umask # muestra el actual (ej: 022)
umask 027 # cambiaPermisos especiales:
- SUID (4): el programa se ejecuta con permisos del propietario.
- SGID (2): se ejecuta con permisos del grupo.
- Sticky bit (1): solo el propietario puede borrar sus archivos (útil en
/tmp).
chmod u+s binario # SUID
chmod +t carpeta/ # sticky bit4.7 Procesos y monitorización
ps: snapshot de procesos.
ps aux # todos los procesos
ps -ef # formato completo
ps aux | grep nginx # filtrar por nombretop / htop: monitorización en tiempo real.
top
htop # más visual (requiere instalación)kill: termina procesos.
kill PID # señal TERM (15, amable)
kill -9 PID # señal KILL (forzado)
killall firefox # matar por nombre
pkill -f "python script" # matar por patrónjobs, fg, bg: gestión de trabajos en la shell.
comando & # ejecutar en background
jobs # listar trabajos
fg %1 # traer a primer plano
bg %1 # enviar a backgroundnohup: ejecutar procesos que sobrevivan al cierre de la terminal.
nohup script.sh &nice y renice: cambiar prioridad.
nice -n 10 comando # menor prioridad
renice -n -5 -p PID # mayor prioridad (root)4.8 Redes desde la terminal
ip: configuración de red moderna.
ip a # interfaces y direcciones
ip r # tabla de rutas
ip link set eth0 up # activar interfazss: conexiones y sockets (reemplaza a netstat).
ss -tulpn # puertos abiertos
ss -tulpn | grep 80 # filtrar por puertoping: comprobar conectividad.
ping google.com
ping -c 4 8.8.8.8 # 4 pingstraceroute / mtr: ruta hasta un destino.
traceroute google.com
mtr google.com # más visualcurl y wget: descargar y probar APIs.
curl https://api.github.com
curl -O https://ejemplo.com/archivo.zip
wget https://ejemplo.com/archivo.zipdig / nslookup: consultas DNS.
dig veselin.es
nslookup google.comtcpdump: capturar tráfico.
sudo tcpdump -i eth0 port 804.9 Compresión y empaquetado
tar: el estándar de Linux.
tar -czvf backup.tar.gz carpeta/ # crear .tar.gz
tar -xzvf backup.tar.gz # extraer
tar -tzvf backup.tar.gz # listar contenido
tar -cjvf backup.tar.bz2 carpeta/ # bzip2
tar -cJvf backup.tar.xz carpeta/ # xzzip / unzip:
zip -r archivo.zip carpeta/
unzip archivo.zipgzip / gunzip:
gzip archivo.txt
gunzip archivo.txt.gz4.10 Otros comandos esenciales
sudo: ejecutar como superusuario.
sudo apt update
sudo -i # shell root
sudo -u usuario comando # como otro usuariosu: cambiar de usuario.
su - rootman: manual de comandos.
man ls
man 5 passwd # sección 5: formatos de archivohistory: historial de comandos.
history
history | grep ssh
!! # repetir último comando
!123 # repetir comando 123alias: atajos personalizados.
alias ll='ls -lah'
alias update='sudo apt update && sudo apt upgrade'echo: imprimir texto.
echo "Hola mundo"
echo $PATH # mostrar variableexport: variables de entorno.
export EDITOR=vim
export PATH=$PATH:/opt/bindate, cal, uptime, whoami, hostname: información del sistema.
df y du: espacio en disco.
df -h # uso por sistema de archivos
du -sh carpeta/ # tamaño de carpeta
du -sh * | sort -h # ordenar por tamañofree: memoria RAM.
free -huname: información del sistema.
uname -a4.11 Atajos de teclado útiles
- Ctrl+C: cancelar comando actual.
- Ctrl+D: cerrar sesión / fin de entrada.
- Ctrl+Z: suspender proceso (luego
fgpara reanudar). - Ctrl+L: limpiar pantalla.
- Ctrl+R: buscar en el historial.
- Ctrl+A: ir al inicio de la línea.
- Ctrl+E: ir al final de la línea.
- Ctrl+U: borrar hasta el inicio.
- Ctrl+K: borrar hasta el final.
- Tab: autocompletar.
- Tab Tab: mostrar opciones.
4.12 Recursos para practicar
- Guía básica de tmux
- El poder de Linux y sus programas de terminal
- 10 comandos esenciales para principiantes
- Files and directories in Linux
5. Sistema de archivos y estructura
5.1 La jerarquía FHS
Linux organiza sus archivos según el Filesystem Hierarchy Standard (FHS). Los directorios principales:
| Directorio | Contenido |
|---|---|
/ | Raíz del sistema |
/bin | Binarios esenciales (en sistemas modernos, symlink a /usr/bin) |
/boot | Kernel, initrd, GRUB |
/dev | Dispositivos (discos, terminales, USB) |
/etc | Configuración del sistema |
/home | Directorios personales de usuarios |
/lib | Bibliotecas compartidas esenciales |
/media | Puntos de montaje automáticos (USB, DVD) |
/mnt | Puntos de montaje manuales |
/opt | Software de terceros opcional |
/proc | Sistema de archivos virtual con info de procesos |
/root | Home del superusuario |
/run | Datos volátiles desde el arranque |
/sbin | Binarios de administración |
/srv | Datos de servicios (web, FTP) |
/sys | Info de dispositivos del kernel |
/tmp | Archivos temporales (borrados al reiniciar) |
/usr | Programas y datos de usuario |
/var | Datos variables (logs, bases de datos) |
Consejo: cuando busques un archivo de configuración, mira en /etc. Cuando busques logs, mira en /var/log.

5.2 Tipos de sistemas de archivos
Los más usados en Linux:
ext4:
- El estándar por defecto.
- Estable, rápido, probado.
- Soporta volúmenes de hasta 1 exabyte.
- Sin snapshots nativos.
btrfs:
- Sistema moderno con snapshots, checksums y compresión.
- Ideal para escritorio y servidores.
- SUSE lo usa por defecto.
- Guía: Introducción al sistema de archivos Btrfs: características y ventajas
xfs:
- Excelente para servidores con archivos grandes.
- RHEL lo usa por defecto.
- Sin capacidad de reducción (solo crecimiento).
zfs:
- Máxima integridad de datos.
- Snapshots, deduplicación, RAID integrado.
- Más complejo y con más RAM.
Otros: fat32, exfat (compatibilidad), ntfs (Windows), swap.
Comparativa completa: Comparativa de Sistemas de Archivos en Linux: ext4 vs. Btrfs vs. XFS
5.3 Montaje y desmontaje
En Linux, para acceder a un sistema de archivos hay que montarlo en un directorio.
Comandos:
mount # ver montajes actuales
mount /dev/sdb1 /mnt/usb # montar
umount /mnt/usb # desmontar
findmnt # ver montajes (más legible)
lsblk # ver discos y particionesMontaje automático en /etc/fstab:
Ejemplo:
UUID=1234-5678 /home ext4 defaults 0 2
UUID=abcd-efgh /mnt/data btrfs defaults,noatime,compress=zstd 0 0Obtener UUID:
sudo blkid5.4 Enlaces simbólicos y duros
Enlace simbólico (symlink): apunta a otro archivo.
ln -s /ruta/original /ruta/enlace
ls -l enlace # muestra la flecha: enlace -> originalEnlace duro: referencia al mismo inodo.
ln archivo enlace_duroDiferencias:
- Symlink: puede apuntar a directorios, cruza sistemas de archivos, se rompe si se borra el original.
- Hard link: solo archivos, mismo sistema de archivos, sobrevive al borrado del original.
5.5 Permisos y propietarios
Ya los vimos en la sección 4.6. Recuerda:
chmod: permisos.chown: propietario y grupo.chgrp: solo grupo.
Ejemplo típico en un servidor web:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html5.6 Comandos útiles
stat archivo.txt # información detallada
file archivo.bin # tipo de archivo
readlink enlace_simbolico # destino del symlink
realpath archivo # ruta absoluta
basename /ruta/archivo.txt # nombre del archivo
dirname /ruta/archivo.txt # ruta del directorio6. Gestión de usuarios y permisos

6.1 Usuarios, grupos y contraseñas
Linux es multiusuario desde su diseño. Cada usuario tiene:
- UID: identificador numérico único (0 para root).
- GID: identificador del grupo principal.
- Home: directorio personal.
- Shell: intérprete por defecto.
Archivos clave:
/etc/passwd: información de usuarios./etc/shadow: contraseñas hasheadas (solo root)./etc/group: grupos./etc/sudoers: permisos de sudo.
Comandos de gestión:
Crear usuario:
sudo useradd -m -s /bin/bash usuario
sudo passwd usuarioO más amigable:
sudo adduser usuarioModificar usuario:
sudo usermod -aG sudo usuario # añadir a grupo sudo
sudo usermod -s /bin/zsh usuario # cambiar shell
sudo usermod -L usuario # bloquear cuenta
sudo usermod -U usuario # desbloquearEliminar usuario:
sudo userdel usuario
sudo userdel -r usuario # elimina también su homeGrupos:
sudo groupadd desarrolladores
sudo groupdel desarrolladores
sudo gpasswd -a usuario desarrolladores # añadir al grupo
sudo gpasswd -d usuario desarrolladores # quitar del grupoVer info:
id usuario
groups usuario
getent passwd usuarioGuía completa: Administración de Usuarios y Grupos en Linux
6.2 sudo y su configuración
sudo permite ejecutar comandos como otro usuario (por defecto root) según reglas definidas.
Configuración: editar con visudo (nunca directamente).
sudo visudoEjemplo de reglas:
usuario ALL=(ALL:ALL) ALL # todo con contraseña
usuario ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl # solo systemctl sin contraseña
%sudo ALL=(ALL:ALL) ALL # todo el grupo sudoVentajas de sudo sobre su:
- Auditoría: cada uso queda registrado.
- Granularidad: se puede limitar a comandos específicos.
- Seguridad: no hay que compartir la contraseña de root.
- Configuración centralizada.
Guía: Como instalar y configurar sudo en Debian 12
6.3 Permisos avanzados
Además de los permisos básicos (rwx), existen:
SUID (Set User ID):
- El archivo se ejecuta con permisos del propietario.
- Ejemplo:
/usr/bin/passwdes SUID root para que cualquier usuario pueda cambiar su contraseña.
sudo chmod u+s /ruta/binario⚠️ Riesgo: si un binario SUID tiene vulnerabilidades, puede escalarse privilegios.
SGID (Set Group ID):
- Se ejecuta con permisos del grupo propietario.
- En directorios: los archivos nuevos heredan el grupo.
sudo chmod g+s /ruta/carpetaSticky bit:
- Solo el propietario puede borrar sus archivos dentro del directorio.
- Común en
/tmp.
sudo chmod +t /ruta/carpetaBuscar archivos SUID (auditoría):
find / -perm -4000 -type f 2>/dev/nullGuía relacionada: Control de Acceso en Linux: Mejores Prácticas de Permisos y Usuarios
6.4 ACLs (Access Control Lists)
Los permisos tradicionales limitan a 3 categorías. Las ACLs permiten permisos granulares por usuario o grupo específico.
Ver ACLs:
getfacl archivo.txtAñadir ACL:
setfacl -m u:maria:rw archivo.txt # maria puede leer/escribir
setfacl -m g:devs:rx carpeta/ # grupo devs lee/ejecuta
setfacl -R -m u:juan:r carpeta/ # recursivo
setfacl -x u:maria archivo.txt # eliminar ACLEjemplo práctico: dar permisos de escritura a un usuario externo sin añadirlo al grupo.
6.5 SELinux y AppArmor
Además de los permisos tradicionales, Linux moderno usa MAC (Mandatory Access Control):
SELinux (Red Hat, Fedora):
- Etiqueta cada proceso, archivo y puerto.
- Define qué puede hacer cada proceso.
- Modos: enforcing, permissive, disabled.
getenforce
sestatus
sudo setenforce 0 # modo permissiveAppArmor (Ubuntu, SUSE):
- Perfiles por aplicación.
- Más sencillo que SELinux.
sudo aa-status
sudo aa-enforce /etc/apparmor.d/usr.bin.firefoxConcepto clave: incluso si un proceso es comprometido, SELinux/AppArmor limitan el daño que puede hacer.
Guía: Introducción a SELinux: Cómo Asegurar el Acceso en Sistemas Linux
6.6 Políticas de contraseñas
Configurar contraseñas robustas con PAM:
/etc/login.defs:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_MIN_LEN 12
PASS_WARN_AGE 14/etc/security/pwquality.conf:
minlen = 12
minclass = 3
maxrepeat = 2Bloquear tras intentos fallidos (pam_faillock):
auth required pam_faillock.so preauth silent deny=5 unlock_time=900Buenas prácticas:
- Longitud mínima 12-16 caracteres.
- Rotación solo ante sospecha.
- MFA siempre que se pueda.
- Gestor de contraseñas.
6.7 Auditoría de accesos
Últimos accesos:
last # últimos logins
lastlog # último login de cada usuario
who # usuarios conectados ahora
w # qué están haciendoIntentos fallidos:
sudo lastb
sudo grep "Failed password" /var/log/auth.logAuditoría con auditd:
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo ausearch -k passwd_changes7. Gestión de paquetes
7.1 APT (Debian/Ubuntu)
El gestor de paquetes de la familia Debian. Usa paquetes .deb y repositorios definidos en /etc/apt/sources.list y /etc/apt/sources.list.d/.
Comandos básicos:
sudo apt update # actualizar índice de paquetes
sudo apt upgrade # actualizar paquetes
sudo apt full-upgrade # actualizar + resolver dependencias
sudo apt install paquete # instalar
sudo apt remove paquete # desinstalar
sudo apt purge paquete # desinstalar + configuración
sudo apt autoremove # eliminar dependencias huérfanas
sudo apt search término # buscar
apt show paquete # info del paquete
dpkg -l # listar paquetes instaladosAñadir repositorio PPA (Ubuntu):
sudo add-apt-repository ppa:usuario/ppa
sudo apt update
sudo apt install paqueteInstalar .deb local:
sudo dpkg -i archivo.deb
sudo apt install -f # resolver dependencias7.2 DNF/YUM (Red Hat)
Familia Red Hat: Fedora, RHEL, CentOS, Rocky, AlmaLinux. Usa paquetes .rpm.
sudo dnf check-update
sudo dnf upgrade
sudo dnf install paquete
sudo dnf remove paquete
sudo dnf search término
dnf info paquete
dnf list installedAñadir repositorio:
sudo dnf config-manager --add-repo URL7.3 Pacman (Arch)
sudo pacman -Syu # actualizar todo (rolling release)
sudo pacman -S paquete # instalar
sudo pacman -R paquete # desinstalar
sudo pacman -Rs paquete # + dependencias
sudo pacman -Ss término # buscar
sudo pacman -Qs # buscar instalados
sudo pacman -Qe # explícitamente instaladosAUR (Arch User Repository): con yay o paru:
yay -S paquete_aur7.4 Zypper (openSUSE)
sudo zypper refresh
sudo zypper update
sudo zypper install paquete
sudo zypper remove paquete
sudo zypper search término7.5 Snap, Flatpak y AppImage
Formatos universales que funcionan en cualquier distro:
Snap (Canonical):
sudo snap install paquete
sudo snap list
sudo snap remove paqueteFlatpak:
flatpak install flathub paquete
flatpak list
flatpak uninstall paqueteAppImage:
- Archivo ejecutable portable.
chmod +x archivo.AppImage
./archivo.AppImageVentajas:
- Misma versión en cualquier distro.
- Sandboxing.
- Actualizaciones automáticas.
Desventajas:
- Ocupan más espacio.
- Arrancan más lento.
- Menos integración con el sistema.
7.6 Compilar desde código fuente
Cuando no hay paquete disponible:
# 1. Descargar y extraer
wget https://ejemplo.com/programa-1.0.tar.gz
tar -xzvf programa-1.0.tar.gz
cd programa-1.0
# 2. Leer README e INSTALL
# 3. Configurar
./configure --prefix=/usr/local
# 4. Compilar
make -j$(nproc)
# 5. Instalar
sudo make installDependencias: normalmente build-essential, cmake, pkg-config.
7.7 Actualizaciones automáticas
Ubuntu/Debian:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgradesConfiguración en /etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};Fedora:
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timerArch: no recomendado automático (rolling release).
7.8 Gestión de repositorios
Problemas comunes: repositorios rotos, claves GPG expiradas, PPAs antiguas.
Guía: Como borrar los repositorios que no funcionan en Ubuntu y Debian
Añadir claves GPG:
wget -qO - https://ejemplo.com/clave.gpg | sudo apt-key add -
# O moderno:
wget -O- https://ejemplo.com/clave.gpg | sudo gpg --dearmor -o /usr/share/keyrings/repo.gpg7.9 Problemas comunes
«No se puede bloquear /var/lib/dpkg/lock»:
sudo rm /var/lib/dpkg/lock-frontend
sudo dpkg --configure -a
sudo apt updatePaquete roto:
sudo apt --fix-broken install
sudo dpkg --configure -aProblemas con pip (Python):
Problemas Comunes al Instalar Librerías con pip
Comparativa entre gestores: Comparativa de Gestores de Paquetes en Linux: apt, pacman, yum y zypper
8. Entornos de escritorio
Linux ofrece algo que Windows y macOS no: puedes elegir tu entorno de escritorio. Si no te gusta cómo se ve tu interfaz, cambias de entorno (o incluso mezclas componentes).
8.1 ¿Qué es un entorno de escritorio?
Un entorno de escritorio (DE) es el conjunto de programas que forman la interfaz gráfica:
- Gestor de ventanas: cómo se dibujan y gestionan las ventanas.
- Panel/taskbar: barra de tareas, menús.
- Gestor de archivos: navegador de archivos.
- Configuración del sistema: ajustes gráficos.
- Aplicaciones básicas: terminal, editor, calculadora.
Diferencia importante: el entorno de escritorio es independiente del sistema base. Puedes tener varios instalados y elegir cuál usar al iniciar sesión.
8.2 GNOME
El escritorio por defecto en Ubuntu, Fedora y muchas otras.
Características:
- Interfaz moderna y minimalista.
- Enfoque en productividad y flujos de trabajo.
- Uso intensivo de gestos y atajos.
- Extensiones para personalizar.
Ventajas:
- Muy pulido y consistente.
- Excelente integración con Wayland.
- Buena accesibilidad.
- Comunidad grande.
Desventajas:
- Consume más recursos.
- Filosofía restrictiva (menos personalizable sin extensiones).
- Curva de adaptación desde Windows.
Ideal para: usuarios modernos que quieren algo pulido y elegante.
8.3 KDE Plasma
El entorno más personalizable de Linux.
Características:
- Enorme cantidad de opciones.
- Aspecto similar a Windows por defecto.
- Altamente modular.
- Widgets, temas, efectos.
Ventajas:
- Personalización casi infinita.
- Excelente rendimiento (más ligero de lo que parece).
- Aplicaciones potentes (Dolphin, Konsole, Kate).
- Actualizaciones frecuentes.
Desventajas:
- Puede abrumar por tantas opciones.
- Ocasionalmente bugs por su complejidad.
Ideal para: quienes quieren control total de su escritorio.
8.4 XFCE
El entorno ligero y estable por excelencia.
Características:
- Consumo mínimo de recursos.
- Interfaz clásica (tipo Windows XP/7).
- Muy estable y maduro.
Ventajas:
- Corre perfectamente en hardware antiguo.
- Rápido y ligero.
- Configurable sin excesos.
- Muy estable.
Desventajas:
- Aspecto menos moderno.
- Menos efectos visuales.
Ideal para: hardware antiguo, servidores con GUI, quienes prefieren simplicidad.
8.5 Otros entornos destacados
Cinnamon:
- Fork de GNOME 2 creado por Linux Mint.
- Interfaz clásica moderna.
- Excelente equilibrio entre ligereza y funcionalidad.
MATE:
- Continuación de GNOME 2.
- Muy estable, ligero, clásico.
LXQt / LXDE:
- Ultrarregueros.
- Perfectos para equipos muy limitados.
Budgie:
- Moderno y limpio.
- Usado por Solus y Ubuntu Budgie.
Deepin:
- Estéticamente espectacular.
- Popular en China.
Pantheon:
- El escritorio de elementary OS.
- Muy elegante, tipo macOS.
Cutefish, UKUI, Trinity: alternativas de nicho.
8.6 Cómo elegir tu entorno
Pregúntate:
- ¿Qué hardware tienes? Poca RAM → XFCE, LXQt. Hardware moderno → GNOME, KDE.
- ¿Qué te gusta? Minimalista → GNOME. Personalizable → KDE. Clásico → XFCE, Cinnamon.
- ¿Qué distro usas? Cada una viene con un DE por defecto.
- ¿Necesitas algo específico? Algunos DEs tienen mejor soporte para ciertas tareas.
Recomendaciones rápidas:
| Perfil | Entorno |
|---|---|
| Moderno y pulido | GNOME |
| Personalizable | KDE Plasma |
| Ligero y estable | XFCE |
| Clásico tipo Windows | Cinnamon |
| Hardware muy antiguo | LXQt |
| Estético | Pantheon, Deepin |
Guía comparativa: Entornos de Escritorio en Linux: Comparativa entre KDE, GNOME y Xfce
8.7 Gestores de ventanas (tiling)
Para usuarios avanzados, existen gestores de ventanas tiling que organizan ventanas automáticamente sin superposición:
- i3 / i3-gaps: el más popular.
- sway: i3 para Wayland.
- bspwm: muy configurable.
- dwm: minimalista, en C.
- hyprland: Wayland moderno con efectos.
- awesome: configurable en Lua.
Ventajas: máxima productividad con teclado, cero uso de ratón.
Desventajas: curva de aprendizaje alta, configuración manual.
8.8 Personalización
Linux permite personalizar todo:
- Temas GTK/Qt: aspecto de aplicaciones.
- Iconos: Papirus, Numix, Arc.
- Cursores: Bibata, Adwaita.
- Fuentes: Inter, Fira Code, JetBrains Mono.
- Fondos de pantalla: dinámicos, rotativos.
- Shell: bash, zsh (con Oh My Zsh), fish.
- Terminal: Alacritty, Kitty, Wezterm, Tilix.
Recursos:
- GNOME Look: https://www.gnome-look.org/
- KDE Store: https://store.kde.org/
- r/unixporn: inspiración en Reddit.
Guía: Cómo Personalizar tu Entorno de Escritorio en Linux: Guía Completa
8.9 Wayland vs X11
El sistema gráfico clásico de Linux es X11 (1987). Su sucesor moderno es Wayland.
X11:
- Veterano, maduro.
- Compatible con todo.
- Inseguro por diseño (cualquier app puede ver el input de otras).
- Problemas con múltiples monitores y HiDPI.
Wayland:
- Moderno, más seguro.
- Mejor soporte de HiDPI y múltiples monitores.
- Rendimiento superior.
- Algunos programas aún no funcionan bien (XWayland ayuda).
En 2026:
- GNOME: Wayland por defecto.
- KDE: Wayland por defecto desde Plasma 6.
- Ubuntu: Wayland por defecto.
- Otros: transición en curso.
Conclusión: si puedes, usa Wayland. Si tienes problemas con alguna aplicación, cambia a X11 desde la pantalla de login.
9. Administración de servidores Linux
Linux domina el mundo de los servidores. Aquí tienes lo esencial para administrar uno como un profesional.

9.1 Instalación y configuración inicial
Elección de la distro:
- Debian: estabilidad máxima, ideal para producción. Razones para elegir Debian como sistema operativo para tu servidor
- Ubuntu Server: Debian + soporte comercial + más actualizado.
- Rocky / AlmaLinux: alternativas a CentOS, familia RHEL.
- Alpine: ultraligera, ideal para contenedores.
Primeros pasos tras instalar:
- Actualizar el sistema:
sudo apt update && sudo apt full-upgrade -y # Debian/Ubuntu
sudo dnf upgrade -y # RHEL/Fedora- Configurar hostname:
sudo hostnamectl set-hostname servidor01- Configurar zona horaria:
sudo timedatectl set-timezone Europe/Madrid- Crear usuario administrador (no usar root directamente):
sudo adduser admin
sudo usermod -aG sudo admin- Configurar SSH (siguiente apartado).
- Configurar firewall:
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp- Activar actualizaciones automáticas de seguridad.
Guía de comandos básicos: Gestión de servidores Debian: Comandos básicos
9.2 SSH seguro
SSH es la puerta de entrada a tu servidor. Debe estar blindado.
Buenas prácticas:
- Cambiar el puerto (por defecto 22):
sudo nano /etc/ssh/sshd_config
# Port 2222
sudo systemctl restart sshd- Deshabilitar login de root:
PermitRootLogin no- Usar claves SSH en lugar de contraseñas:
# En el cliente:
ssh-keygen -t ed25519 -C "admin@mi-servidor"
ssh-copy-id -p 2222 admin@servidor- Deshabilitar autenticación por contraseña:
PasswordAuthentication no
PubkeyAuthentication yes- Limitar usuarios permitidos:
AllowUsers admin- Configurar fail2ban: Cómo Configurar y Usar Fail2Ban para Proteger tu Servidor Linux
- Configurar autenticación de dos factores (Google Authenticator).
- Timeout de sesión:
ClientAliveInterval 300
ClientAliveCountMax 2Cliente SSH:
ssh usuario@servidor.com # conexión simple
ssh -p 2222 usuario@servidor.com # puerto personalizado
ssh -i ~/.ssh/clave_privada usuario@servidor.com
scp archivo.txt usuario@servidor:/ruta/ # copiar archivo
rsync -avz carpeta/ usuario@servidor:/ruta/ # sincronizar
ssh -L 8080:localhost:80 usuario@servidor # túnel local9.3 Configuración de red estática
En servidores, la IP debe ser estática. Con Netplan (Ubuntu moderno):
# /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]Aplicar:
sudo netplan try
sudo netplan applyGuía: IP estática en Ubuntu Server 22.04 y actualización a 24.04
9.4 Servicios con systemd
systemd es el sistema de inicio moderno. Gestiona servicios, sockets, timers, targets.
Comandos básicos:
systemctl status nginx # estado
systemctl start nginx # arrancar
systemctl stop nginx # detener
systemctl restart nginx # reiniciar
systemctl reload nginx # recargar config
systemctl enable nginx # activar al arranque
systemctl disable nginx # desactivar al arranque
systemctl list-units --type=service --state=running
systemctl list-unit-filesCrear un servicio propio:
# /etc/systemd/system/mi-app.service
[Unit]
Description=Mi aplicación
After=network.target
[Service]
Type=simple
User=miapp
WorkingDirectory=/opt/miapp
ExecStart=/opt/miapp/bin/miapp
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetActivar:
sudo systemctl daemon-reload
sudo systemctl enable --now mi-appjournalctl para ver logs de servicios:
journalctl -u nginx
journalctl -u nginx --since "1 hour ago"
journalctl -f # seguir en tiempo real
journalctl -p err # solo errores9.5 Logs del sistema
Los logs están en /var/log/:
/var/log/syslog(Debian/Ubuntu): log general./var/log/messages(RHEL): equivalente./var/log/auth.log: autenticación y sudo./var/log/kern.log: mensajes del kernel./var/log/dpkg.log: instalaciones de paquetes./var/log/nginx/: logs de Nginx./var/log/apache2/: logs de Apache.
Con journalctl:
journalctl -b # desde el último arranque
journalctl --since "2026-01-01"
journalctl -u sshRotación de logs con logrotate (/etc/logrotate.conf).
Centralizar logs: rsyslog, journald remoto, ELK Stack.
Guía: Análisis de registros en Linux: Cómo Detectar Comportamientos Sospechosos
9.6 Tareas programadas
Cron:
crontab -e # editar crontab del usuario
sudo crontab -e # como root
crontab -l # listarSintaxis:
* * * * * comando
│ │ │ │ │
│ │ │ │ └── día de la semana (0-7, 0=domingo)
│ │ │ └──── mes (1-12)
│ │ └────── día del mes (1-31)
│ └──────── hora (0-23)
└────────── minuto (0-59)Ejemplos:
0 3 * * * /ruta/backup.sh # diario a las 3:00
*/15 * * * * /ruta/check.sh # cada 15 min
0 0 * * 0 /ruta/weekly.sh # domingos a medianoche
@reboot /ruta/inicio.sh # al arrancarsystemd timers (alternativa moderna):
# /etc/systemd/system/backup.timer
[Unit]
Description=Backup diario
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.targetsudo systemctl enable --now backup.timer
systemctl list-timersGuías relacionadas:
- Cómo automatizar tareas en Linux con cron y bash scripting
- Creación de Scripts Bash para Automatizar Tareas Comunes en Linux
9.7 Backups con rsync
rsync es la herramienta estándar de sincronización y backups.
Backup local:
rsync -av --delete /origen/ /destino/Backup remoto:
rsync -avz -e ssh /origen/ usuario@servidor:/destino/Opciones clave:
-a: archivo (preserva permisos, fechas, symlinks).-v: verboso.-z: compresión.--delete: elimina archivos que ya no están en origen.--exclude: excluir patrones.--dry-run: simular sin ejecutar.
Ejemplo backup automatizado:
#!/bin/bash
FECHA=$(date +%Y-%m-%d)
rsync -avz --delete /var/www/ /backup/www-$FECHA/
tar -czf /backup/www-$FECHA.tar.gz /backup/www-$FECHA/
rm -rf /backup/www-$FECHA/
find /backup -name "*.tar.gz" -mtime +30 -deleteRegla 3-2-1:
- 3 copias.
- 2 medios distintos.
- 1 copia offsite.
Guías:
- La Importancia de los Backups y Cómo Implementar una Estrategia Efectiva
- Cómo Hacer un Backup Seguro y Automatizado en Linux
- Cómo Automatizar Backups en Linux con rsync y cron: Guía Completa
9.8 Monitorización
Herramientas básicas:
top / htop # procesos
free -h # RAM
df -h # disco
iostat # I/O
vmstat # memoria y CPU
sar # históricoHerramientas avanzadas:
- Netdata: monitorización en tiempo real.
- Prometheus + Grafana: el estándar moderno.
- Zabbix: monitorización empresarial.
- Nagios: clásico.
- Munin: simple y eficaz.
Guía completa: Las Mejores Herramientas de Monitorización de Servidor
9.9 Optimización de rendimiento
Ajustes comunes:
- CPU governor:
sudo cpupower frequency-set -g performance- Swappiness:
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf- File descriptors:
echo "fs.file-max=100000" | sudo tee -a /etc/sysctl.conf- TCP tuning:
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1- I/O scheduler: para SSD, usar
noneomq-deadline.
Guías: Optimización de Rendimiento en Servidores Linux: Guía Completa y Cómo mejorar el rendimiento de tu servidor Linux
9.10 Servicios comunes
Servidor web:
- Nginx: Guía paso a paso para instalar Nginx y añadir una plantilla personalizada
- Apache: Cómo instalar servidor Apache2 y añadir nuestra plantilla personalizada paso a paso
Base de datos:
- MariaDB: Como instalar MariaDB en Ubuntu 24.04 server y configurar phpMyAdmin
- PostgreSQL.
Correo:
Archivos:
- Samba: Instalar y Configurar Samba en tu Servidor con Debian 12
- Nextcloud: Como instalar Nextcloud con Nginx y Let’s Encrypt SSL en Debian11
- ownCloud: Como instalar OwnCloud en Debian 11
Impresión:
10. Redes en Linux
10.1 Configuración de red
Ver configuración actual:
ip a # interfaces
ip r # rutas
cat /etc/resolv.conf # DNSConfigurar DNS:
# Temporal:
sudo resolvectl dns eth0 8.8.8.8
# Permanente con systemd-resolved:
sudo nano /etc/systemd/resolved.conf
# DNS=8.8.8.8 1.1.1.1Comprobar conectividad:
ping -c 4 8.8.8.8
ping -c 4 google.com
traceroute google.com
mtr google.com10.2 Firewalls
UFW (Uncomplicated Firewall) — el más fácil:
sudo ufw status verbose
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw delete allow 80/tcpfirewalld (Red Hat, Fedora):
sudo firewall-cmd --state
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --add-port=8080/tcpnftables (moderno, reemplaza iptables):
sudo nft list ruleset
sudo nft add rule inet filter input tcp dport 22 acceptiptables (clásico):
sudo iptables -L -n -v
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4Guía: Cómo Configurar un Firewall en Linux con UFW y Firewalld y Guía para Instalar y Configurar Firewall en Servidor Debian 11
10.3 VPN
WireGuard (recomendado en 2026):
# Instalación
sudo apt install wireguard
# Generar claves
wg genkey | tee privatekey | wg pubkey > publickey
# Configuración servidor: /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <private_key>
[Peer]
PublicKey = <client_public_key>
AllowedIPs = 10.0.0.2/32Activar:
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0OpenVPN: alternativa madura.
Guía: Cómo Montar y Configurar tu Propio Servidor de VPN en Casa: Guía Paso a Paso
10.4 Diagnóstico de red
ping: conectividad básica.traceroute / mtr: ruta hasta destino.dig / nslookup / host: consultas DNS.ss / netstat: puertos y conexiones.tcpdump: captura de tráfico.
sudo tcpdump -i eth0 -w captura.pcap
sudo tcpdump -i eth0 port 80nmap: escaneo de red.
nmap -sV 192.168.1.0/24
nmap -p 80,443 servidor.comIntroducción a Nmap: herramienta esencial para escaneo de redes
Comparativa entre Nmap y Zenmap
Cómo comprobar la seguridad de tu red local con Nmap
iftop / nethogs: ver tráfico por conexión/proceso.
10.5 Servidores DNS y DHCP
DNS con Bind9:
sudo apt install bind9
# Configuración en /etc/bind/DNS con dnsmasq (más simple):
sudo apt install dnsmasq
# Configuración en /etc/dnsmasq.confDHCP con isc-dhcp-server o dnsmasq:
sudo apt install isc-dhcp-serverPi-hole: bloqueador de anuncios a nivel de red. Muy popular en Raspberry Pi.
11. Scripting con Bash
El scripting Bash es una de las habilidades más valiosas en Linux. Te permite automatizar tareas repetitivas, administrar sistemas y crear herramientas personalizadas.
11.1 Estructura de un script
Primer script:
#!/bin/bash
# Script de ejemplo
echo "¡Hola, mundo!"
echo "Fecha actual: $(date)"Pasos:
- Crear archivo:
nano script.sh - Dar permisos de ejecución:
chmod +x script.sh - Ejecutar:
./script.sh
El shebang (#!/bin/bash):
Indica qué intérprete usar. Opciones comunes:
#!/bin/bash(bash)#!/bin/sh(sh, más portable)#!/usr/bin/env python3(Python)
11.2 Variables
NOMBRE="Veselin"
EDAD=30
FECHA=$(date +%Y-%m-%d)
echo "Hola, $NOMBRE"
echo "Tienes $EDAD años"
echo "Hoy es $FECHA"Comillas:
"$VAR": expande variables.'$VAR': literal, no expande.`comando`o$(comando): ejecuta y captura (preferir$()).
Variables especiales:
$0: nombre del script.$1, $2, ...: argumentos.$#: número de argumentos.$@: todos los argumentos.$?: código de salida del último comando.$$: PID del script.$USER: usuario actual.$HOME: directorio home.$PWD: directorio actual.
11.3 Entrada del usuario
read -p "¿Cómo te llamas? " nombre
echo "Hola, $nombre"
read -s -p "Contraseña: " pass
echo "" # salto de línea11.4 Condicionales
if [ "$edad" -ge 18 ]; then
echo "Mayor de edad"
elif [ "$edad" -ge 13 ]; then
echo "Adolescente"
else
echo "Niño"
fiOperadores de comparación:
Números: -eq -ne -lt -le -gt -ge
Strings: = != -z -n
Archivos: -e -f -d -r -w -x
Ejemplos:
if [ -f "/etc/passwd" ]; then
echo "El archivo existe"
fi
if [ -d "/tmp" ] && [ -w "/tmp" ]; then
echo "Directorio escribible"
fi
if [ "$USER" != "root" ]; then
echo "No eres root"
ficase:
case "$1" in
start)
echo "Iniciando..."
;;
stop)
echo "Deteniendo..."
;;
*)
echo "Uso: $0 {start|stop}"
exit 1
;;
esac11.5 Bucles
for:
for i in 1 2 3 4 5; do
echo "Número: $i"
done
for archivo in *.txt; do
echo "Procesando $archivo"
done
for i in {1..10}; do
echo $i
done
for ((i=0; i<10; i++)); do
echo $i
donewhile:
contador=0
while [ $contador -lt 5 ]; do
echo "Contador: $contador"
((contador++))
doneuntil:
contador=0
until [ $contador -ge 5 ]; do
echo "Contador: $contador"
((contador++))
done11.6 Funciones
saludar() {
local nombre="$1"
echo "Hola, $nombre"
}
saludar "Mundo"
saludar "Linux"
# Con valor de retorno
suma() {
echo $(($1 + $2))
}
resultado=$(suma 5 3)
echo "Resultado: $resultado"11.7 Entrada/salida y redirecciones
Redirecciones:
comando > archivo.txt # sobrescribir
comando >> archivo.txt # añadir
comando 2> errores.txt # solo errores
comando &> todo.txt # stdout + stderr
comando < entrada.txt # leer de archivoPipes:
ps aux | grep nginx
cat access.log | grep "404" | wc -l/dev/null: descartar salida.
comando > /dev/null 2>&1tee: guardar y mostrar a la vez.
comando | tee log.txt11.8 Manejo de errores
#!/bin/bash
set -e # salir si un comando falla
set -u # error si variable no definida
set -o pipefail # error si falla en pipe
# O todo junto:
set -euo pipefailComprobar si un comando falló:
if ! comando; then
echo "Error al ejecutar comando"
exit 1
fiTrampa para limpiar al salir:
trap 'rm -f /tmp/tempfile' EXIT11.9 Ejemplos prácticos
Backup automático:
#!/bin/bash
set -euo pipefail
FECHA=$(date +%Y-%m-%d_%H-%M)
ORIGEN="/var/www"
DESTINO="/backup"
RETENCION=7
# Crear backup
tar -czf "$DESTINO/backup-$FECHA.tar.gz" "$ORIGEN"
echo "Backup creado: backup-$FECHA.tar.gz"
# Limpiar antiguos
find "$DESTINO" -name "backup-*.tar.gz" -mtime +$RETENCION -delete
echo "Backups antiguos eliminados"Monitor de servicios:
#!/bin/bash
SERVICIOS=("nginx" "mysql" "ssh")
for servicio in "${SERVICIOS[@]}"; do
if systemctl is-active --quiet "$servicio"; then
echo "✓ $servicio activo"
else
echo "✗ $servicio caído. Reiniciando..."
sudo systemctl restart "$servicio"
fi
doneScript de usuario:
#!/bin/bash
# Crear usuarios desde archivo CSV
if [ $# -ne 1 ]; then
echo "Uso: $0 archivo.csv"
exit 1
fi
while IFS=',' read -r usuario nombre; do
if id "$usuario" &>/dev/null; then
echo "Usuario $usuario ya existe"
else
sudo useradd -m -c "$nombre" "$usuario"
echo "Usuario $usuario creado"
fi
done < "$1"Comprobar espacio en disco:
#!/bin/bash
UMBRAL=90
USO=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USO" -gt "$UMBRAL" ]; then
echo "⚠️ Disco al $USO%. Enviando alerta..."
# mail -s "Alerta disco" admin@ejemplo.com <<< "Disco al $USO%"
fi11.10 Buenas prácticas
- Usa
set -euo pipefailal inicio. - Comenta secciones complejas.
- Valida argumentos al inicio.
- Usa variables en lugar de valores hardcoded.
- Comprueba comandos antes de ejecutarlos.
- Usa
shellcheckpara validar sintaxis:
sudo apt install shellcheck
shellcheck script.sh- No uses
rm -rfsin verificar. - Nombra funciones y variables en claro.
Guías relacionadas:
- Creación de Scripts Bash para Automatizar Tareas Comunes en Linux
- Automatización de seguridad con scripts en Linux
- Cómo automatizar tareas en Linux con cron y bash scripting
11.11 Shells alternativos
- bash: el estándar, con mejor compatibilidad.
- zsh: muy configurable, con Oh My Zsh. Ideal para interactivo.
- fish: amigable, con autocompletado inteligente.
- dash: ultraligero, ideal para scripts simples.
Cambiar shell:
chsh -s /bin/zsh12. Contenedores y virtualización
La virtualización y los contenedores son dos pilares de la infraestructura moderna. Linux domina ambos campos.

12.1 Máquinas virtuales vs contenedores
Es importante entender la diferencia:
Máquinas virtuales (VMs):
- Emulan hardware completo.
- Cada VM tiene su propio kernel y sistema operativo.
- Más pesadas (GBs por VM).
- Arranque lento (minutos).
- Aislamiento total.
- Hipervisores: KVM, Xen, VMware ESXi, VirtualBox.
Contenedores:
- Comparten el kernel del host.
- Cada contenedor incluye solo la aplicación y sus dependencias.
- Ligeros (MBs por contenedor).
- Arranque instantáneo (segundos).
- Aislamiento a nivel de proceso (namespaces + cgroups).
- Motores: Docker, Podman, containerd.
Regla práctica:
- VM: cuando necesitas otro SO completo o aislamiento fuerte.
- Contenedor: cuando necesitas empaquetar y desplegar aplicaciones rápido.
12.2 Docker en Linux
Docker es la herramienta estándar para contenedores. Introducción completa: ¿Qué es Docker?
Instalación en Ubuntu/Debian:
# Repositorio oficial
curl -fsSL https://get.docker.com | sudo sh
# Añadir usuario al grupo docker
sudo usermod -aG docker $USER
newgrp docker
# Verificar
docker run hello-worldComandos esenciales:
# Imágenes
docker images # listar imágenes
docker pull nginx:latest # descargar imagen
docker rmi imagen_id # eliminar imagen
docker build -t miapp:1.0 . # construir desde Dockerfile
# Contenedores
docker ps # contenedores activos
docker ps -a # todos
docker run -d -p 8080:80 nginx # ejecutar en background
docker run -it ubuntu bash # interactivo
docker stop contenedor_id # detener
docker start contenedor_id # arrancar
docker rm contenedor_id # eliminar
docker logs contenedor_id # ver logs
docker exec -it contenedor_id bash # shell dentro
# Limpieza
docker system prune -a # eliminar todo lo no usadoDockerfile básico:
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "app.py"]Docker Compose para aplicaciones multi-contenedor:
version: '3.8'
services:
web:
build: .
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: secreto
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:docker compose up -d
docker compose down
docker compose logs -fSeguridad en Docker:
- No ejecutar contenedores como root.
- Usar imágenes oficiales o escaneadas.
- Limitar recursos (CPU, RAM).
- Escanear vulnerabilidades con Trivy.
- Network policies.
Referencia: Introducción a la Seguridad de Contenedores en Docker y Kubernetes
12.3 Kubernetes
Kubernetes (K8s) es el orquestador de contenedores estándar. Introducción: ¿Qué es Kubernetes?
Conceptos clave:
- Pod: unidad mínima (1+ contenedores).
- Deployment: gestión de réplicas.
- Service: exposición de pods.
- Ingress: entrada HTTP/HTTPS.
- ConfigMap / Secret: configuración.
- Namespace: aislamiento lógico.
Comandos básicos:
kubectl get pods # listar pods
kubectl get nodes # nodos del cluster
kubectl describe pod nombre # info detallada
kubectl logs pod # logs
kubectl exec -it pod -- bash # shell dentro
kubectl apply -f manifiesto.yaml # aplicar configuración
kubectl delete -f manifiesto.yamlDistribuciones:
- k3s: ligero, ideal para edge/IoT.
- MicroK8s: de Canonical, fácil instalación.
- kubeadm: instalación manual.
- EKS, GKE, AKS: gestionados en cloud.
- Talos, Rancher: enterprise.
Comparativa Docker vs Kubernetes: Diferencias y Similitudes entre Docker y Kubernetes
12.4 LXC/LXD
LXC (Linux Containers) son contenedores a nivel de sistema (no de aplicación).
Diferencias con Docker:
- LXC: contenedores de SO completo (más parecido a VMs).
- Docker: contenedores de aplicación.
LXD es la interfaz moderna para LXC:
sudo snap install lxd
sudo lxd init
lxc launch ubuntu:24.04 mi-contenedor
lxc list
lxc exec mi-contenedor -- bash
lxc stop mi-contenedor
lxc delete mi-contenedorVentajas:
- Más ligeros que VMs.
- Aislamiento completo.
- Ideal para desarrollo y testing.
Guía: Cómo Crear y Administrar Contenedores con LXC en Linux: Guía Completa
12.5 Proxmox VE
Proxmox VE es una plataforma de virtualización open source basada en Debian. Combina KVM (VMs) y LXC (contenedores) con una interfaz web potente.
Características:
- Interfaz web completa.
- Gestión de VMs y contenedores.
- Clustering.
- Backups integrados.
- Live migration.
Instalación:
- Descargar ISO.
- Instalar como cualquier distro.
- Acceder por web:
https://IP:8006.
Guías:
- Guía completa sobre Proxmox: Todo lo que necesitas saber para administrar tus servidores
- Proxmox VE 8.2: Qué es, para qué se utiliza, cómo instalarlo y configurarlo
- Como actualizar los templates de Proxmox
12.6 Namespaces y cgroups
Los namespaces y cgroups son las tecnologías del kernel que hacen posible los contenedores.
Namespaces: aíslan recursos entre procesos.
- PID: árbol de procesos.
- NET: interfaces de red.
- MNT: puntos de montaje.
- UTS: hostname.
- IPC: comunicación inter-proceso.
- USER: usuarios y permisos.
Cgroups: limitan y miden recursos.
- CPU.
- Memoria.
- I/O de disco.
- Red.
Ver namespaces de un proceso:
lsns # todos los namespaces
ls -l /proc/PID/ns/ # namespaces de un PIDGuía: Qué son las namespaces en Linux y cómo mejoran la seguridad
12.7 Cuándo usar cada tecnología
| Necesidad | Solución |
|---|---|
| Ejecutar una app aislada | Docker |
| Orquestar múltiples contenedores | Kubernetes |
| Simular un SO completo | VM (KVM, VirtualBox) |
| Entorno de desarrollo ligero | LXC |
| Plataforma de virtualización completa | Proxmox VE |
| Aplicaciones legacy en contenedor | LXC |
| Microservicios en producción | Kubernetes |
13. Seguridad en Linux
Linux es intrínsecamente más seguro que otros sistemas, pero no es invulnerable. Un servidor mal configurado es un imán para atacantes.

13.1 Hardening básico
Checklist de hardening:
- Actualizaciones automáticas de seguridad.
- Usuario root deshabilitado (usar sudo).
- SSH endurecido: puerto no estándar, claves, no root.
- Firewall activo: solo puertos necesarios.
- Fail2ban contra fuerza bruta.
- SELinux/AppArmor activados.
- Servicios mínimos: desactivar todo lo que no uses.
- Kernel actualizado.
- Logs centralizados.
- Backups automáticos.
Lynis: herramienta de auditoría.
sudo apt install lynis
sudo lynis audit systemTe da una puntuación y sugerencias concretas.
OpenSCAP: cumplimiento de estándares (CIS, PCI-DSS).
13.2 Cifrado de disco
LUKS (Linux Unified Key Setup) es el estándar para cifrado de disco.
Cifrado completo al instalar: la mayoría de instaladores lo ofrecen.
Cifrado de una partición existente:
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup luksOpen /dev/sdb1 disco_cifrado
sudo mkfs.ext4 /dev/mapper/disco_cifrado
sudo mount /dev/mapper/disco_cifrado /mnt/cifradoCifrado de archivos individuales con GPG:
gpg -c archivo.txt # cifrar
gpg archivo.txt.gpg # descifrarCifrado de directorios con gocryptfs o encfs.
Guía: Cómo Cifrar tu Disco Duro en Linux para Mayor Seguridad
13.3 Gestión de parches
Actualizar solo seguridad (Debian/Ubuntu):
sudo unattended-upgrade -dConfigurar actualizaciones automáticas:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesComprobar CVEs de paquetes instalados:
- Debsecan (Debian).
- Ubuntu Security Notices.
- NVD (National Vulnerability Database).
Kernel Livepatch (Ubuntu Pro) para aplicar parches sin reiniciar.
13.4 Análisis de logs
Los logs son tu mejor fuente de información sobre intentos de ataque.
Ubicaciones:
/var/log/auth.log: autenticación./var/log/syslog: sistema./var/log/kern.log: kernel./var/log/nginx/access.log: accesos web.
Buscar intentos de login fallidos:
sudo grep "Failed password" /var/log/auth.log
sudo grep "Invalid user" /var/log/auth.logTop IPs atacantes:
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | headHerramientas:
- Logwatch: resumen diario por email.
- GoAccess: análisis de logs web en tiempo real.
- journalctl: logs del sistema systemd.
- Fail2ban: bloqueo automático.
Guía: Análisis de registros en Linux: Cómo Detectar Comportamientos Sospechosos
13.5 Detección de rootkits y malware
Rootkits: software malicioso que oculta su presencia.
Herramientas:
- rkhunter: busca rootkits.
- chkrootkit: alternativa.
- ClamAV: antivirus open source.
- Lynis: auditoría general.
sudo apt install rkhunter chkrootkit clamav
sudo rkhunter --check
sudo chkrootkit
sudo freshclam && sudo clamscan -r /homeVerificación de integridad:
- AIDE: detecta cambios en archivos críticos.
- Tripwire: alternativa comercial.
sudo apt install aide
sudo aideinit
sudo aide --check13.6 Forense básico
Cuando sospechas de un compromiso:
1. Aislar el sistema (desconectar de red).
2. Preservar evidencia:
# Copia bit a bit del disco
sudo dd if=/dev/sda of=/mnt/externo/imagen.dd bs=4M conv=noerror,sync3. Analizar procesos:
ps auxf # árbol de procesos
sudo lsof -i # conexiones abiertas
sudo lsof -p PID # archivos abiertos por proceso4. Ver conexiones:
ss -tulpn
sudo netstat -antp5. Ver persistencia:
/etc/cron*/etc/systemd/system/~/.bashrc,~/.profile/etc/rc.local- Systemd user services.
6. Analizar logs:
journalctl --since "2026-01-01"Guías:
- Cómo Realizar un Análisis Forense Digital Básico en Linux
- Forense Digital: Métodos para la Recolección de Evidencias en Investigación Cibernética
- Guía de herramientas de análisis de malware en Linux
13.7 Amenazas específicas en Linux
Aunque Linux es más seguro por diseño, existen amenazas:
- Servidores SSH mal configurados: atacados 24/7 por bots.
- Aplicaciones web vulnerables: WordPress, Joomla, PHP.
- Contenedores mal configurados.
- Cryptojacking: minar criptomonedas con tu CPU.
- Ransomware específico: aunque menos común, existe.
- Ataques a la cadena de suministro: paquetes maliciosos en repos.
Referencia: Aumento de Amenazas Cibernéticas en Linux y Cómo Combatirlas
13.8 Buenas prácticas de seguridad
- Mínimo privilegio: nadie debe tener más permisos de los que necesita.
- Autenticación multifactor siempre que sea posible.
- Contraseñas robustas y gestor.
- Backups cifrados y probados.
- Segmentación de red.
- Monitorización continua.
- Plan de respuesta a incidentes.
- Formación del equipo.
- Auditorías periódicas.
- Actualizaciones disciplinadas.
Guía: Guía Completa de Ciberseguridad 2026: Protege tu Empresa, tu Red y tus Datos
13.9 Herramientas de seguridad para Linux
- Firewall: ufw, firewalld, nftables.
- IDS/IPS: Suricata, Snort, Zeek.
- SIEM: Wazuh, ELK.
- Escaneo: Nmap, OpenVAS, Nikto.
- Hacking: Metasploit, Burp Suite.
- Antivirus: ClamAV.
- Rootkit: rkhunter, chkrootkit.
- Integridad: AIDE, Tripwire.
- Auditoría: Lynis, OpenSCAP.
- Cifrado: LUKS, GPG.
Guía: Cómo instalar herramientas de ciberseguridad en Debian 12: Guía completa
14. Linux en el mundo real
Linux no es solo un sistema operativo: es la infraestructura sobre la que funciona internet. Aquí tienes los principales escenarios.
14.1 Linux en servidores web
El 96% de los servidores web del mundo funcionan con Linux (según W3Techs). Razones:
- Estabilidad extrema (uptime de años).
- Rendimiento superior bajo carga.
- Seguridad robusta.
- Coste cero de licencias.
- Escalabilidad.
- Ecosistema de herramientas.
Stack típico:
- LAMP: Linux + Apache + MySQL + PHP.
- LEMP: Linux + Nginx + MySQL + PHP.
- MERN/MEAN: con Node.js.
Guías:
- Cómo montar un servidor LAMP en Ubuntu paso a paso: Guía completa
- WordPress en Ubuntu Server 24.04 con Nginx
- Cómo Configurar y Optimizar un Servidor Web Apache en Linux: Guía Completa
- Hardening de Servidores Web: Apache vs. Nginx
14.2 Linux en la nube
Todos los grandes proveedores cloud basan su infraestructura en Linux:
- AWS: EC2 con Amazon Linux, Ubuntu, Debian.
- Azure: VMs Linux, AKS (Kubernetes).
- Google Cloud: Compute Engine, GKE.
- Oracle Cloud.
- DigitalOcean, Linode, Vultr.
Ventajas:
- Flexibilidad.
- Escalabilidad.
- Costes optimizados.
- Amplia oferta de distros.
14.3 Linux en móviles (Android)
Android está basado en el kernel Linux. Sus componentes:
- Kernel Linux modificado.
- Runtime ART (Android Runtime).
- Librerías propias.
- Framework de aplicaciones.
Con más de 3.000 millones de dispositivos activos, Android es la mayor distribución Linux del mundo.
Otros móviles Linux:
- Ubuntu Touch.
- postmarketOS.
- PinePhone, Librem 5.
14.4 Linux en IoT y Raspberry Pi
Linux es el sistema dominante en IoT:
- Raspberry Pi OS (Debian adaptado).
- Ubuntu Core.
- Yocto Project para embebidos.
- OpenWrt para routers.
Raspberry Pi ha democratizado la electrónica y el IoT:
Guías:
- Guía completa sobre Raspberry Pi
- Cómo convertir tu Raspberry Pi en un servidor Linux funcional
- Proyecto IoT con ESP32 y previsión meteorológica
- Monitorización Ambiental de Málaga con ESP32 y Sensor BME680: Cómo Crear una Web de Datos en Tiempo Real
14.5 Linux en supercomputadoras
El 100% de las top 500 supercomputadoras usan Linux. Ejemplos:
- Frontier (Oak Ridge, EE.UU.): primera en superar 1 exaFLOPS.
- Fugaku (Japón).
- LUMI (Finlandia).
- MareNostrum (Barcelona).
Razones:
- Escalabilidad masiva.
- Rendimiento.
- Personalización.
- Coste.
14.6 Linux en el espacio
Linux está en el espacio:
- Estación Espacial Internacional: usa Linux en múltiples sistemas.
- Robots Curiosity y Perseverance: basados en Linux (VxWorks + Linux).
- Falcon 9 de SpaceX: sistema de vuelo con Linux.
- Satélites: muchos usan Linux.
- Drones: ArduPilot, PX4.
Referencia: El Asistente con IA en la ISS cumple su primera jornada laboral de 90 minutos
14.7 Linux en el escritorio
Aunque el escritorio sigue dominado por Windows y macOS, Linux tiene una cuota creciente:
- ~4-5% de cuota global en escritorio (2026).
- Mucho mayor en desarrollo y ciencia.
- Estándar en universidades técnicas.
- Creciendo en gaming (Steam Deck + Proton).
Perfiles típicos:
- Desarrolladores.
- Administradores de sistemas.
- Científicos e investigadores.
- Usuarios preocupados por privacidad.
- Entusiastas de la tecnología.
14.8 Linux en empresas
Grandes empresas usan Linux masivamente:
- Google: servidores, Android, Chrome OS.
- Facebook/Meta: infraestructura completa.
- Amazon: AWS + servidores.
- Netflix: streaming en servidores Linux.
- Twitter/X, Reddit, Wikipedia.
- Bancos, aseguradoras, gobiernos.
Razones:
- Coste.
- Flexibilidad.
- Seguridad.
- Personalización.
- Soporte (Red Hat, SUSE, Canonical).
14.9 Linux en el desarrollo de software
Linux es el sistema preferido de los desarrolladores:
- Mejor soporte de herramientas (Docker, Kubernetes, compiladores).
- Terminal potente.
- Control total del entorno.
- Sistemas de archivos rápidos.
- Gestión de paquetes.
- Ideal para servidores.
Stacks típicos:
- Python, Node.js, Go, Rust, Ruby.
- Bases de datos: PostgreSQL, MySQL, MongoDB, Redis.
- Contenedores y orquestación.
Referencias:
- Linux para Desarrolladores: Configura tu Entorno de Desarrollo Completo
- Sistema Linux para el Desarrollo Web
14.10 Linux en ciberseguridad
Prácticamente todas las herramientas de seguridad son Linux-first:
- Kali, Parrot, BlackArch para pentesting.
- Wireshark, Nmap, Metasploit.
- Análisis forense.
- Respuesta a incidentes.
Referencias:
- Guía Completa de Kali Linux 2026: Instalación en VirtualBox, Herramientas y Pentesting
- Las Mejores Herramientas De Hacking 2026 | Comparativa y análisis profesional
15. Aprender Linux: rutas y recursos

15.1 Ruta para principiantes (0-3 meses)
Mes 1: Fundamentos
- Instala Linux en VM o dual boot.
- Familiarízate con el escritorio.
- Aprende comandos básicos:
ls,cd,cp,mv,rm,mkdir. - Configura tu entorno.
Mes 2: Terminal y sistema
- Dominar
grep,find,sed,awk. - Entender permisos y usuarios.
- Gestión de paquetes.
- Editor de texto (nano, vim).
Mes 3: Administración básica
- Servicios con systemd.
- Logs.
- Redes básicas.
- Scripts Bash simples.
Recursos:
- Linux Journey: https://linuxjourney.com/
- The Linux Command Line (William Shotts, gratis).
- Curso de Linux en YouTube (Píldoras Informáticas, Pelado Nerd).
15.2 Ruta para administradores de sistemas (3-12 meses)
Fase 1: Profundizar (meses 3-6)
- Networking avanzado.
- Servicios: web, DNS, DHCP, correo.
- Seguridad básica.
- Backups y monitorización.
Fase 2: Automatización (meses 6-9)
- Bash avanzado.
- Python para administración.
- Ansible.
- Terraform.
Fase 3: Contenedores y cloud (meses 9-12)
- Docker.
- Kubernetes.
- Cloud (AWS, Azure, GCP).
- CI/CD.
Certificaciones:
- LPIC-1 (Linux Professional Institute).
- RHCSA (Red Hat).
- CompTIA Linux+.
- RHCE (avanzado).
15.3 Ruta para desarrolladores
Enfoque:
- Terminal potente.
- Git y control de versiones.
- Docker para entornos aislados.
- Editores (VSCode, Neovim).
- Configuración de dotfiles.
- Automatización de tareas.
Recursos:
- Linux para Desarrolladores: Configura tu Entorno de Desarrollo Completo
- Sistema Linux para el Desarrollo Web
- Guía básica para usar tmux: Multiplexa tu terminal como un profesional
15.4 Ruta para hackers éticos
Fase 1: Fundamentos Linux + redes + programación.
Fase 2: Kali Linux y herramientas.
Fase 3: Plataformas de práctica.
Fase 4: Certificaciones.
Recursos:
- Guía Completa de Kali Linux 2026: Instalación en VirtualBox, Herramientas y Pentesting
- Top Platforms to Practice Pentesting: Las mejores opciones para aprender hacking ético y mejorar tus habilidades de ciberseguridad
- Mi Laboratorio de Ciberseguridad Profesional con Proxmox y pfSense – Guía Paso a Paso (2026)
Certificaciones:
- CompTIA Security+.
- CEH.
- OSCP.
- CISSP.
15.5 Certificaciones Linux
| Certificación | Nivel | Orientación |
|---|---|---|
| Linux Essentials (LPI) | Principiante | Fundamentos |
| LPIC-1 | Intermedio | Administración básica |
| LPIC-2 | Avanzado | Administración de redes |
| LPIC-3 | Experto | Especialización |
| CompTIA Linux+ | Intermedio | Administrador junior |
| RHCSA | Intermedio | Red Hat |
| RHCE | Avanzado | Red Hat avanzado |
15.6 Recursos gratuitos
- The Linux Command Line (libro).
- Linux Journey (web interactiva).
- Linux From Scratch (construir tu propia distro).
- Arch Wiki (la mejor documentación de Linux).
- YouTube: Pelado Nerd, Píldoras Informáticas, DistroTube.
- Reddit: r/linux, r/linuxquestions, r/linuxadmin.
- Foros: Stack Overflow, Ask Ubuntu, Unix StackExchange.
15.7 Práctica: laboratorios y VMs
La mejor manera de aprender es practicando:
- Instala Linux en VM (VirtualBox, VMware, Proxmox).
- Monta un laboratorio casero con Proxmox.
- Practica en plataformas online (TryHackMe, HackTheBox).
- Contribuye a open source.
- Automatiza tus tareas diarias.
- Rompe cosas y arréglalas (backup antes).
Guía para montar tu laboratorio:
Mi Laboratorio de Ciberseguridad Profesional con Proxmox y pfSense – Guía Paso a Paso (2026)
15.8 Errores comunes al aprender Linux
- Instalar directamente en el PC principal sin backup.
- Copiar y pegar comandos sin entenderlos.
- No practicar (solo ver vídeos).
- Rendirse en el primer error.
- No leer los mensajes de error.
- No usar el manual (
man). - No participar en comunidades.
- No automatizar tareas.
- No documentar lo aprendido.
- No romper cosas (es la mejor forma de aprender).
15.9 Consejos finales
- Usa Linux a diario. Solo así se interioriza.
- Aprende a leer documentación.
- Practica en VM antes de producción.
- Documenta tus configuraciones.
- Únete a comunidades.
- Aprende haciendo.
- No tengas miedo a romper cosas.
- Sé curioso.
16. Conclusión
Linux ha pasado de ser un proyecto personal de un estudiante finlandés a convertirse en la infraestructura invisible del mundo digital. Está en el 96% de los servidores web, en el 100% de las supercomputadoras, en tu móvil Android, en tu router, en los satélites que orbitan la Tierra y en la Estación Espacial Internacional. Y todo ello siendo gratuito, open source y accesible para cualquiera.
Pero lo más importante es que Linux es tu sistema operativo también. Puedes instalarlo hoy en tu ordenador, recuperar hardware antiguo, montar tu propio servidor, aprender a administrar sistemas, automatizar tareas o dar tus primeros pasos en ciberseguridad. Todo sin coste y con una comunidad mundial dispuesta a ayudar.
Los 10 puntos clave de esta guía
- Linux es el kernel, no el sistema completo. GNU/Linux es el conjunto.
- Existen más de 600 distribuciones, pero con conocer 4-5 familias tienes suficiente.
- La instalación es sencilla en 2026, incluso en dual boot con Windows.
- La terminal es tu mejor herramienta: más rápida y potente que cualquier GUI.
- El sistema de archivos FHS tiene lógica y una vez lo entiendes, todo encaja.
- Los permisos y usuarios son la base de la seguridad de Linux.
- Cada familia tiene su gestor de paquetes, pero el concepto es el mismo.
- La administración de servidores gira en torno a SSH, systemd, logs y backups.
- Bash y los contenedores son las dos habilidades más demandadas.
- La seguridad no es opcional: hardening, cifrado, monitorización y respuesta a incidentes.
Próximos pasos
Según tu perfil, esto es lo que te recomiendo hacer ahora:
Si eres principiante:
- Instala Linux Mint o Ubuntu en una VM (VirtualBox).
- Practica los 20 comandos básicos durante una semana.
- Lee el libro «The Linux Command Line» (gratis).
- Configura tu entorno poco a poco.
Si ya usas Linux:
- Monta un servidor casero con Debian o Ubuntu Server.
- Aprende systemd, cron y rsync a fondo.
- Configura un firewall y fail2ban.
- Empieza con scripts Bash.
Si eres desarrollador:
- Configura tu entorno de desarrollo completo en Linux.
- Domina tmux, git y Docker.
- Automatiza tus tareas repetitivas con Bash.
- Explora contenedores y Kubernetes.
Si quieres orientarte a servidores:
- Aprende administración avanzada.
- Practica con Proxmox y contenedores.
- Estudia para LPIC-1 o RHCSA.
- Monta tu propio laboratorio.
Si te interesa la ciberseguridad:
- Instala Kali Linux en VM.
- Practica en TryHackMe y HackTheBox.
- Aprende Nmap, Wireshark y Metasploit.
- ¿Qué es el Ethical Hacking y cómo iniciarte en el campo?
Reflexión final
Linux no es solo un sistema operativo: es una filosofía basada en la libertad, la colaboración y el conocimiento compartido. Aprender Linux no es memorizar comandos: es entender cómo funcionan los sistemas, cómo se comunican, cómo se aseguran y cómo se automatizan.
En un mundo cada vez más dependiente de la tecnología, saber Linux te da una ventaja enorme: entiendes la infraestructura sobre la que funciona todo. Y esa comprensión te abre puertas en desarrollo, administración, ciberseguridad, cloud, IoT y prácticamente cualquier disciplina técnica.
Así que no lo dudes: instala Linux, rompe cosas, arréglalas, aprende. La comunidad te espera con los brazos abiertos.
17. Preguntas frecuentes sobre Linux
17.1 ¿Qué es Linux y en qué se diferencia de Windows o macOS?
Linux es un kernel de sistema operativo creado por Linus Torvalds en 1991, liberado bajo licencia GPL. Junto con herramientas del proyecto GNU forma el sistema operativo GNU/Linux, comúnmente llamado «Linux».
Diferencias clave:
- Código abierto: el código fuente es público y modificable.
- Gratuito: la mayoría de distribuciones no cuestan nada.
- Personalizable: puedes modificar absolutamente todo.
- Seguridad: arquitectura de permisos robusta y menos malware.
- Estabilidad: servidores funcionan durante años sin reiniciar.
- Sin telemetría forzada: no envía datos sin tu consentimiento.
Semejanzas: en 2026, usar Ubuntu o Linux Mint es tan fácil como usar Windows para tareas cotidianas (navegar, ofimática, multimedia).
17.2 ¿Cuál es la mejor distribución para principiantes?
Depende de tu perfil, pero las más recomendadas son:
- Linux Mint: la más amigable, especialmente si vienes de Windows.
- Ubuntu: la más popular, enorme comunidad y soporte.
- Pop!_OS: excelente para desarrollo y gaming.
- Zorin OS: diseñada para ex-usuarios de Windows.
- Fedora: innovadora, con software reciente.
Mi recomendación: empieza por Linux Mint o Ubuntu. Cuando tengas experiencia, explora otras.
Si dudas entre Debian y Ubuntu, consulta Debian o Ubuntu en 2023: ¿Qué sistema operativo Linux es mejor para ti?.
17.3 ¿Es seguro Linux?
Sí, Linux es intrínsecamente más seguro que otros sistemas, por varias razones:
- Arquitectura de permisos: usuarios sin privilegios no pueden modificar el sistema.
- Menos malware: la cuota de escritorio es baja, por lo que hay menos malware dirigido.
- Repositorios oficiales: el software viene verificado.
- Código abierto: cualquiera puede auditar vulnerabilidades.
- Actualizaciones rápidas: los parches llegan en horas.
- Aislamiento: contenedores y namespaces.
Pero no es invulnerable. Un servidor mal configurado puede ser comprometido. Requiere:
- Firewall activo.
- SSH endurecido.
- Actualizaciones al día.
- Contraseñas robustas.
- MFA.
- Monitorización.
17.4 ¿Puedo usar Linux para gaming?
Sí, cada vez más. En 2026, la situación ha mejorado muchísimo:
- Steam Proton: ejecuta la mayoría de juegos de Windows.
- Steam Deck: consola con Linux que ha impulsado el gaming.
- NVIDIA y AMD ofrecen buenos drivers.
- Anti-cheats: muchos ya funcionan (EAC, BattlEye con soporte).
- Distros gaming: Pop!_OS, Nobara, Garuda, SteamOS.
Juegos nativos: hay catálogo creciente (Cyberpunk 2077, Elden Ring, etc.).
Limitaciones: algunos juegos con anti-cheat estricto (Valorant, Fortnite) aún no funcionan. Pero el panorama mejora cada año.
Guía: Cómo optimizar el rendimiento de tu sistema Linux para gaming: Guía completa y Guía Completa sobre Cómo Instalar Steam en Linux
17.5 ¿Cómo aprendo a usar la terminal?
Práctica diaria y progresiva:
Semana 1: navegación básica (pwd, ls, cd).
Semana 2: archivos (cp, mv, rm, mkdir).
Semana 3: búsqueda (grep, find, locate).
Semana 4: permisos (chmod, chown).
Mes 2: procesos, redes, edición de texto (vim/nano).
Mes 3: scripting Bash.
Consejos:
- Usa la terminal para todo lo que puedas.
- Lee el manual (
man comando). - Practica en VM sin miedo.
- Sigue tutoriales interactivos (Linux Journey, OverTheWire).
- Documenta tus comandos frecuentes como alias.
Libro recomendado: «The Linux Command Line» de William Shotts (gratis online).
17.6 ¿Linux es gratis?
El kernel y la mayoría de distribuciones son totalmente gratuitos. Puedes:
- Descargarlas libremente.
- Instalarlas en todos los equipos que quieras.
- Modificarlas y redistribuirlas (según licencia GPL).
- Usarlas comercialmente sin pagar.
Pero existen versiones de pago con soporte empresarial:
- Red Hat Enterprise Linux (RHEL).
- SUSE Linux Enterprise.
- Ubuntu Pro.
También hay servicios de pago que puedes querer:
- Soporte técnico.
- Formación.
- Certificaciones.
- Servidores gestionados.
Para uso personal: no necesitas pagar nada.
17.7 ¿Puedo instalar Linux junto a Windows?
Sí, es lo que se llama dual boot. Ambos sistemas conviven en el mismo disco y eliges cuál arrancar.
Pasos generales:
- Backup completo.
- Desfragmenta Windows.
- Libera espacio (mínimo 30 GB).
- Desactiva Fast Startup en Windows.
- Desactiva Secure Boot en la BIOS.
- Instala Linux eligiendo «Instalar junto a Windows».
- GRUB gestiona el arranque.
Consejo: instala Windows primero, Linux después.
Alternativa: instala Linux en un disco externo o en una VM.
17.8 ¿Qué es GNU/Linux?
GNU es un proyecto iniciado por Richard Stallman en 1983 para crear un sistema operativo libre tipo Unix. Desarrollaron las herramientas esenciales (compilador GCC, editor Emacs, shell Bash…), pero les faltaba un kernel.
Linux (1991) fue ese kernel. Al combinarlos, nace GNU/Linux:
- Kernel: Linux.
- Herramientas: GNU.
- Aplicaciones: diversas.
Por eso, técnicamente el sistema es GNU/Linux. Coloquialmente se dice «Linux».
Guía: Gnu Linux: Qué es, características, ventajas y cómo empezar a usarlo
17.9 ¿Cómo me convierto en administrador de sistemas Linux?
Ruta recomendada:
Fase 1: Fundamentos (6 meses)
- Comandos, permisos, usuarios.
- Gestión de paquetes.
- Procesos, redes básicas.
- Editores de texto.
Fase 2: Administración (6-12 meses)
- Servicios web, DNS, DHCP, correo.
- Systemd avanzado.
- Monitorización.
- Backups y recuperación.
- Bash scripting.
Fase 3: Especialización (12+ meses)
- Contenedores (Docker, Kubernetes).
- Cloud (AWS, Azure, GCP).
- Automatización (Ansible, Terraform).
- Seguridad.
Certificaciones útiles:
- LPIC-1 (entrada).
- RHCSA (Red Hat).
- CompTIA Linux+.
- RHCE (avanzado).
Práctica: monta tu propio laboratorio con Proxmox. Mi Laboratorio de Ciberseguridad Profesional con Proxmox y pfSense – Guía Paso a Paso (2026)
17.10 ¿Linux sirve para diseño gráfico o edición de vídeo?
Sí, cada vez más. Alternativas profesionales:
Diseño gráfico:
- GIMP: alternativa a Photoshop.
- Inkscape: alternativa a Illustrator.
- Krita: pintura digital.
- Blender: 3D y VFX.
Edición de vídeo:
- DaVinci Resolve (versión Linux gratuita).
- Kdenlive.
- Shotcut.
- OpenShot.
Diseño UX/UI:
- Figma (web).
- Penpot (open source).
Limitaciones:
- Adobe Creative Suite no está para Linux.
- Algunas herramientas profesionales solo para Windows/macOS.
Consejo: si trabajas profesionalmente con Adobe, Linux puede no ser tu opción principal. Si trabajas con alternativas, Linux funciona perfectamente.
17.11 ¿Qué es un kernel y por qué importa?
El kernel es el núcleo del sistema operativo. Es la capa que se comunica directamente con el hardware y gestiona:
- Procesos: qué se ejecuta, cuándo y con qué prioridad.
- Memoria: asignación de RAM y swap.
- Sistema de archivos: lectura/escritura en discos.
- Dispositivos: drivers.
- Red: pila TCP/IP.
- Seguridad: permisos, namespaces, cgroups.
Por qué importa:
- Su rendimiento afecta a todo el sistema.
- Su seguridad es la base de la seguridad del sistema.
- Sus actualizaciones requieren reinicio (a menos que uses Livepatch).
- Sus versiones (LTS vs mainline) determinan soporte y estabilidad.
Comprobar tu versión:
uname -r17.12 ¿Cuánto tiempo lleva aprender Linux?
Depende del nivel que quieras alcanzar:
| Nivel | Tiempo |
|---|---|
| Usuario básico | 1-2 semanas |
| Usuario cómodo con terminal | 1-3 meses |
| Administrador junior | 6-12 meses |
| Administrador senior | 2-4 años |
| Experto / especialista | 5+ años |
Factores que influyen:
- Horas diarias de práctica.
- Base previa (redes, programación).
- Método de aprendizaje (curso, autodidacta).
- Objetivo (servidor, escritorio, ciberseguridad).
Clave: constancia. 1 hora al día durante 6 meses vale más que 40 horas una semana y parar.






