Documentación técnica, referencia de comandos y datos abiertos de Linux, en español
Web · Inicio rápido · Datos y comandos · Documentación · Automatización · Contribuir
Important
Repositorio en desarrollo activo: La estructura de carpetas y la documentación están sujetas a cambios.
Linux Core es un repositorio creado a raíz de su predecesor LinuxCommands, con el fin de consolidar años de experiencia en sistemas Linux, arquitectura de computadores, prácticas de seguridad e infraestructuras modernas.
El objetivo es proporcionar el contexto técnico necesario para comprender no solo cómo utilizar una herramienta, servicio o protocolo, sino también el porqué de su funcionamiento y en qué escenarios debe aplicarse. El contenido se desarrolla en español y está orientado tanto al aprendizaje estructurado como a la consulta técnica rápida.
| Qué ofrece | Detalle |
|---|---|
| Documentación técnica | Teoría y procedimientos de redes, almacenamiento, seguridad, servicios, virtualización, contenedores y bases de datos, con los ficheros de configuración de ejemplo junto a cada tema. |
| Referencia de comandos | Fichas JSON de comandos de Linux, validadas con un esquema oficial, con parámetros, riesgos, instalación y ejemplos. |
| Datos abiertos | Las fichas de comandos y de distribuciones se compilan en dos archivos JSON que se publican en cada cambio, listos para scripts, paneles o aplicaciones propias. |
| Sitio web | linuxcore.site muestra comandos y distribuciones con búsqueda, a partir de los mismos datos de este repositorio. |
- Seguridad antes de ejecutar: cada ficha de comando indica su nivel de riesgo, si es destructivo, si necesita permisos de superusuario y qué advertencias tener en cuenta.
- Instalación por familia de distribución: la orden de instalación para Debian y Ubuntu, Arch Linux y RHEL y CentOS.
- Ejemplos con resultado esperado: cada ejemplo describe qué hace y qué debería verse al ejecutarlo.
- Datos para automatizar: las fichas indican si el comando es idempotente, interactivo o apto para scripts, qué validaciones hacer antes y cómo revertirlo.
- Procedimientos completos: ampliar una partición, reemplazar un disco, montar DNS dinámico con BIND9 o alta disponibilidad en DHCP, con los ficheros de configuración reales.
Abre linuxcore.site para buscar comandos y distribuciones. La plataforma sincroniza su base de datos con este repositorio y se actualiza de forma automática tras cada contribución.
Tip
LinuxCore en local con Docker
Ejecuta la web en tu equipo, con los datos de la última release y sin depender de linuxcore.site:
docker run -d --name linuxcore -p 8080:80 --restart unless-stopped ghcr.io/nisamov/linuxcore:latestAbre http://localhost:8080. Para actualizar: docker pull ghcr.io/nisamov/linuxcore:latest y recrea el contenedor.
La imagen es multiarquitectura (amd64 y arm64) y se reconstruye en cada release y una vez por semana.
Note
Base de datos exportable El proyecto distribuye la referencia de comandos y distribuciones en formato JSON, optimizada para alimentar el sitio web linuxcore.site.
curl -fsSLO https://github.com/nisamov/linuxcore/releases/latest/download/commands.json
curl -fsSLO https://github.com/nisamov/linuxcore/releases/latest/download/distros.jsonCon los dos archivos descargados y jq instalado, estas consultas son de solo lectura.
Listar los comandos marcados como destructivos antes de usarlos en un servidor:
jq -r '.comandos[] | select(.seguridad.destructivo) | .id' commands.jsonListar los comandos de la categoría de red:
jq -r '.comandos[] | select(.categoria_db == "red") | .id' commands.jsonObtener la orden para instalar un comando en Debian y Ubuntu:
jq -r '.comandos[] | select(.id == "tcpdump") | .instalacion.paquetes.debian_ubuntu' commands.jsonListar las distribuciones basadas en Debian:
jq -r '.distribuciones[] | select(.distribucion_base == "Debian") | .nombre' distros.json| Bloque | Qué describe |
|---|---|
clasificacion |
Categoría, subcategoría y etiquetas para buscar. |
sintaxis |
Forma principal de uso y alternativas. |
parametros |
Cada opción con su tipo, valor por defecto, valores admitidos, conflictos y dependencias entre opciones. |
requisitos |
Permisos, dependencias y paquetes necesarios. |
seguridad |
Nivel de riesgo, si es destructivo, si requiere root o confirmación y advertencias. |
instalacion |
Método de instalación y orden para Debian y Ubuntu, Arch Linux y RHEL y CentOS. |
ejemplos |
Casos de uso con el comando, su descripción y el resultado esperado. |
automatizacion |
Idempotencia, interactividad, aptitud para scripts, validaciones previas y reversión. |
Ejemplo reducido de la ficha de lsof:
{
"id": "lsof",
"descripcion": "Lista archivos abiertos por procesos y permite buscar por PID, usuario, red, directorio y otros criterios.",
"seguridad": {
"nivel": "medio",
"destructivo": false,
"requiere_root": false,
"advertencias": [
"La salida puede revelar rutas, usuarios, archivos y conexiones de red sensibles.",
"La búsqueda recursiva +D puede tardar y causar carga de E/S en árboles grandes."
]
},
"instalacion": {
"metodo": "gestor_paquetes",
"paquetes": {
"debian_ubuntu": "sudo apt install lsof",
"arch_linux": "sudo pacman -S lsof",
"rhel_centos": "sudo dnf install lsof"
}
},
"ejemplos": [
{
"nombre": "Archivos abiertos por PID",
"comando": "lsof -p 1234",
"descripcion": "Lista los archivos y descriptores abiertos por el proceso 1234.",
"resultado_esperado": "Tabla de comando, PID, usuario, descriptor y nombre del archivo."
}
],
"automatizacion": {
"idempotente": true,
"apto_script": true,
"rollback": null
}
}Las fichas están en json/comandos/, una carpeta por categoría. Las distribuciones están en json/distribuciones/.
| Categoría | Contenido | Algunos ejemplos |
|---|---|---|
almacenamiento |
Discos, LVM, RAID, sistemas de archivos y estado SMART. | lvcreate, mdadm, smartctl, zfs |
archivos |
Gestión de archivos y procesamiento de texto. | find, grep, sed, awk |
compresion |
Compresión, copias y sincronización. | tar, rsync, dd, gzip |
info_sistema |
Hardware, kernel y entorno del sistema. | lscpu, lspci, dmidecode, sysctl |
miscelaneo |
Utilidades de terminal y productividad. | tmux, jq, fzf, screen |
monolinea |
Recetas de una línea para tareas habituales. | comprobar_espacio_y_inodos, mostrar_puertos_abiertos |
paquetes |
Gestores de paquetes de las principales familias. | apt, dnf, pacman, flatpak |
procesos |
Procesos, rendimiento y trazado. | ps, strace, lsof, kill |
red |
Configuración, diagnóstico y captura de red. | ip, ss, tcpdump, nmap |
seguridad |
Cortafuegos, permisos, auditoría y criptografía. | iptables, ufw, auditctl, setfacl |
servicios |
Servicios, registros y protocolos de directorio y monitorización. | systemctl, journalctl, snmpwalk, ldapsearch |
usuarios |
Cuentas, grupos y sesiones. | useradd, passwd, chage, last |
La documentación está en documentacion/, organizada por áreas. Cada tema incluye la teoría y, cuando procede, los ficheros de configuración o scripts de ejemplo.
Cada ruta se lee en el orden indicado.
| Objetivo | Recorrido |
|---|---|
| Servicios de red | Puertos · DHCP · DNS · BIND9 · SSH · Diagnosticar conectividad |
| Almacenamiento y recuperación | Discos y particiones · Ampliar una partición · RAID · Reemplazar un disco · Recuperar sistema de archivos · Borg |
| Seguridad y auditoría | Teoría de seguridad · Permisos · ACL · iptables · UFW · Auditoría · Forense |
| Virtualización y contenedores | Máquinas virtuales · Hipervisores · Proxmox · Docker · Kubernetes |
| Bases de datos | MySQL y MariaDB, en orden de lectura |
| Tema | Documento | Contenido |
|---|---|---|
| Linux | Teoría de Linux | Fundamentos del sistema operativo. |
| Linux | Linus Torvalds | Origen y contexto histórico. |
| Permisos | Permisos de archivos y directorios | Modelo clásico rwx, propietarios y grupos. |
| Permisos | Listas de control de acceso | ACLs con getfacl / setfacl. |
| Procesos | Teoría de procesos | Ciclo de vida, estados y señales. |
| Procesos | Proceso zombie | Qué son y cómo tratarlos. |
| Procesos | Proceso consumiendo CPU | Diagnóstico de uso excesivo de CPU. |
| Almacenamiento | Teoría de almacenamiento | Conceptos generales. |
| Almacenamiento | Discos y particiones | Tablas de particiones y sistemas de archivos. |
| Almacenamiento | Ampliar una partición | Procedimiento paso a paso. |
| Almacenamiento | Reemplazar un disco | Sustitución de disco. |
| Almacenamiento | Recuperar sistema de archivos | Reparación y recuperación. |
| RAID | Teoría de RAID | Niveles y casos de uso. |
| RAID | RAID 1 | Montaje práctico. |
| RAID | RAID (versión compacta) | Resumen rápido. |
| Hardware | RAM | Funcionamiento y tipos de memoria. |
| Tema | Documento | Contenido |
|---|---|---|
| Fundamentos | Topología de redes | Tipos de topología. |
| Fundamentos | Puertos | Puertos y servicios asociados. |
| Fundamentos | ARP | Resolución de direcciones. |
| Fundamentos | TTL e ICMP | Funcionamiento de ping y traceroute. |
| Diagnóstico | Diagnosticar conectividad | Comprobación de conexión. |
| Diagnóstico | Diagnosticar rutas | Análisis de rutas. |
| DHCP | Teoría de DHCP | ISC DHCP: concepto y configuración. |
| DHCP | DHCP failover | Alta disponibilidad con ISC. |
| DHCP | Kea | Servidor DHCP moderno. |
| DHCP | Kea failover | Alta disponibilidad con Kea. |
| DHCP | Ficheros de configuración | dhcpd.conf y Netplan de ambos servidores. |
| DNS | Teoría de DNS | Jerarquía y resolución. |
| DNS | Diagnosticar DNS | Resolución de problemas. |
| DNS | BIND9 | Servidor autoritativo. |
| DNS | DDNS en BIND9 | Actualizaciones dinámicas; ver también los ficheros del procedimiento. |
| DNS | Zonas y configuración BIND9 | Zonas directa/inversa, maestro y esclavo. |
| FTP | Teoría de FTP | Protocolo y modos. |
| NFS | Teoría de NFS | Recursos compartidos en red; ver también exports y fstab. |
| Samba | General de Samba | Compartición con Windows; ver smb.conf. |
| SSH | Teoría de SSH | Acceso remoto seguro. |
| SSH | Comandos y casos de uso | Conexiones y ejecución remota. |
| Tema | Documento | Contenido |
|---|---|---|
| General | Teoría de seguridad | Principios y conceptos. |
| Autenticación | libpam-passwdqc | Política de contraseñas. |
| Criptografía | Cifrado | Simétrico y asimétrico. |
| Criptografía | Hash | Funciones resumen e integridad. |
| Criptografía | Firma digital | Fundamentos. |
| Criptografía | Firma SSL | Aplicación práctica. |
| Criptografía | Certificado RSA con OpenSSL | Generación de certificados. |
| Criptografía | Entidad certificadora | Script de CA. |
| Cortafuegos | iptables | Reglas y cadenas. |
| Cortafuegos | UFW | Cortafuegos simplificado. |
| Cortafuegos | nftables | Configuración de ejemplo. |
| Forense | Teoría forense | Metodología. |
| Forense | Planificación de auditoría | Auditoría con auditd. |
| Forense | Foremost | Recuperación de archivos. |
| Forense | Definición de datos | Conceptos de datos. |
| OSINT | seguridad/osint/ |
En preparación. |
| Tema | Documento | Contenido |
|---|---|---|
| Web | Apache2 | Servidor web. |
| Web | Nginx | Servidor web y proxy inverso. |
| Sistema | Cron | Tareas programadas. |
| Sistema | Journal | Registros con journald. |
| Sistema | Diagnosticar systemd | Resolución de problemas. |
| Sistema | Ejemplo de unidad | Fichero .service de ejemplo. |
| Tema | Documento | Contenido |
|---|---|---|
| Virtualización | Máquinas virtuales | Conceptos básicos. |
| Virtualización | Hipervisores | Tipo 1 y tipo 2. |
| Virtualización | Proxmox | Plataforma de virtualización. |
| Virtualización | VirtualBox | Hipervisor de escritorio. |
| Virtualización | Hyper-V | Hipervisor de Microsoft. |
| Contenedores | Docker: teoría | Conceptos. |
| Contenedores | Docker: instalación | Puesta en marcha. |
| Contenedores | Kubernetes | Orquestación. |
| Contenedores | LXC | Contenedores de sistema. |
| Copias de seguridad | Borg | Backups deduplicados. |
MySQL / MariaDB, en orden de lectura recomendado:
- Fundamentos
- Instalación y servicio
- Configuración del servidor
- Bases y tablas
- Consultas y funciones
- Joins y uniones
- Usuarios y permisos
- Seguridad
- Transacciones y concurrencia
- Metadatos y caché de consultas
- Copias de seguridad y recuperación
Scripts SQL: declaracion · condicionales · funciones · delimitador
| Tema | Documento | Contenido |
|---|---|---|
| Conceptos | Introducción | Fundamentos de programación. |
| Bash | Comentarios · Input · Operadores aritméticos | Sintaxis básica. |
| Bash | Condiciones · Control de flujo · Devolución | Lógica y funciones. |
| PHP | Comentarios · Variables · Concatenación | Sintaxis básica. |
| PHP | Condicionales · Conversión | Lógica y tipos. |
linuxcore/
├── documentacion/ Teoría, procedimientos y ficheros de ejemplo, por área
│ ├── bases_de_datos/ infraestructura/ programacion/ redes/
│ └── seguridad/ servicios/ sistema/
├── json/
│ ├── comandos/ Una ficha JSON por comando, en 12 categorías
│ ├── distribuciones/ Una ficha JSON por distribución
│ └── servicios/ En desarrollo
├── docker/ Dockerfile de la web en local
├── .github/
│ ├── schemas/ Esquema JSON de las fichas de comandos
│ ├── scripts/ Validación y generación de las bases de datos
│ ├── workflows/ Automatización con GitHub Actions
│ └── ISSUE_TEMPLATE/ Plantillas de incidencias
├── ACCESSIBILITY.md Criterios de accesibilidad
└── CHANGELOG.md Registro de cambios
Los cambios se comprueban y se publican de forma automática con GitHub Actions.
| Flujo de trabajo | Qué hace | Cuándo se ejecuta |
|---|---|---|
| Generación bases de datos | Valida las fichas de comandos con el esquema, compila commands.json y distros.json y los publica en la última release. |
Al cambiar json/comandos/, json/distribuciones/, el esquema o los scripts asociados. |
| Validación de documentación | Comprueba que los enlaces internos de los archivos Markdown apuntan a archivos que existen. | Al cambiar archivos .md. |
| Detección de claves secretas | Busca credenciales y claves accidentales en el contenido. | En cada push y en cada Pull Request. |
| Publicar imagen Docker | Construye y publica la imagen de la web en ghcr.io para amd64 y arm64. |
En cada release y una vez por semana. |
Dependabot revisa las acciones de GitHub una vez al mes.
Este proyecto nace con fines de aprendizaje y referencia técnica. Si encuentras alguna errata, quieres corregir un procedimiento o añadir nuevo contenido, las contribuciones son más que bienvenidas.
| Quiero | Cómo |
|---|---|
| Avisar de un error o un enlace roto | Abre una incidencia de corrección. |
| Proponer un tema o un comando | Abre una incidencia con la plantilla de documentación o de nuevo comando. |
| Aportar documentación, una ficha de comando o una distribución | Sigue la guía de contribución y envía un Pull Request. |
| Comunicar una barrera de accesibilidad | Sigue las indicaciones de ACCESSIBILITY.md. |
Antes de enviar un Pull Request, ejecuta las validaciones que explica la guía:
python3 .github/scripts/validate_markdown.py
python3 .github/scripts/validate_commands.py| Documento | Contenido |
|---|---|
| Guía de contribución | Flujo de trabajo, reglas por tipo de aporte y validaciones. |
| Accesibilidad | Criterios para que la documentación y la web sean accesibles. |
| Política de seguridad | Directrices de uso seguro de los comandos y los scripts. |
| Código de conducta | Normas de convivencia y de contenido. |
| Registro de cambios | Historial de versiones del repositorio. |
| Agradecimientos | Reconocimiento a quienes han aportado conocimiento. |
Warning
El contenido se proporciona con fines informativos. Prueba los comandos y los scripts en una máquina virtual o un contenedor antes de usarlos en producción, sobre todo los que requieren sudo o están marcados como destructivos.

