Dominar los comandos de Linux es la habilidad más valiosa que puedes adquirir como administrador de sistemas, desarrollador o usuario avanzado. La terminal es el lenguaje universal de Linux: no importa si usas Ubuntu, Fedora, Debian, Arch o cualquier otra distribución, los comandos son los mismos en todas. Esta guía es tu referencia definitiva: más de 100 comandos organizados por categoría, con sintaxis completa, opciones principales y ejemplos prácticos que puedes copiar y ejecutar directamente en tu terminal. Desde los comandos más básicos de navegación hasta técnicas avanzadas de administración del sistema, tuberías y procesamiento de texto, aquí encontrarás todo lo que necesitas. Guárdala en favoritos, porque vas a volver a ella una y otra vez.
🖥️ La terminal de Linux: tu centro de control
La terminal —también llamada consola, shell o línea de comandos— es la interfaz más potente de Linux. Mientras las interfaces gráficas te limitan a las opciones que alguien diseñó, la terminal te da control absoluto sobre cada aspecto del sistema operativo.
En Linux, el shell predeterminado es Bash (Bourne Again SHell), creado por Brian Fox en 1989 como reemplazo libre del shell Bourne original de Unix. Existen alternativas populares como Zsh (con autocompletado avanzado y temas como Oh My Zsh), Fish (con sugerencias inteligentes) o Dash (optimizado para velocidad en scripts). Todos comparten la misma lógica fundamental: escribes un comando, el shell lo interpreta y el kernel de Linux lo ejecuta.
Aprender a usar la terminal puede parecer intimidante al principio, pero la inversión merece la pena. Con la terminal puedes automatizar tareas repetitivas mediante scripts, administrar servidores remotos vía SSH, gestionar versiones de código con Git, monitorizar el rendimiento del sistema en tiempo real y resolver problemas que serían imposibles con una interfaz gráfica. De hecho, la mayoría de administradores de sistemas y desarrolladores profesionales pasan más tiempo en la terminal que en cualquier otra herramienta.
La filosofía que sustenta los comandos Linux proviene de Unix (1969) y se resume en una idea elegante: «Haz que cada programa haga una sola cosa bien». Por eso, en lugar de tener un único programa enorme, Linux ofrece cientos de pequeñas herramientas especializadas que se combinan entre sí mediante tuberías (pipes). Esta modularidad es la clave de su potencia y flexibilidad.
Anatomía de un comando Linux
Todos los comandos siguen la misma estructura: comando [opciones] [argumentos]. Las opciones modifican el comportamiento y los argumentos indican sobre qué actuar.
man nombre_comando. Es la documentación más fiable que existe. Navega con las flechas, busca con /texto y sal con q.
📂 Navegación por el sistema de archivos
En Linux, todo es un archivo: documentos, directorios, dispositivos de hardware, procesos del sistema e incluso la información de red. El sistema de archivos se organiza en un árbol jerárquico cuya raíz es / (la barra inclinada, no una letra de unidad como en Windows). Dominar la navegación es el primer paso para controlar el sistema.
A diferencia de Windows, donde cada disco tiene su propia letra (C:, D:), en Linux todo cuelga de un único punto raíz. Los discos adicionales, las memorias USB y los recursos de red se «montan» como directorios dentro del árbol. Esta estructura unificada hace que el sistema sea más coherente y predecible, aunque requiere un cambio de mentalidad si vienes del mundo Windows.
Los directorios principales del sistema siguen el estándar FHS (Filesystem Hierarchy Standard), que define dónde debe ir cada tipo de archivo. Conocer esta estructura te permite encontrar archivos de configuración, logs, programas instalados y datos de usuario sin tener que buscar a ciegas.
~ siempre apunta a tu directorio home. El doble punto .. es el directorio padre. El punto simple . es el directorio actual. Y cd - te devuelve al directorio en el que estabas antes.
📁 Gestión de archivos y directorios
Crear, copiar, mover y eliminar archivos y directorios son las operaciones más frecuentes en la terminal. A diferencia de un explorador gráfico donde arrastras y sueltas, la terminal te permite operar sobre miles de archivos a la vez usando patrones y comodines (wildcards). El asterisco * coincide con cualquier cosa, el interrogante ? con un solo carácter, y los corchetes [abc] con cualquiera de los caracteres indicados.
Estas operaciones son especialmente potentes cuando las combinas con find y pipes. Por ejemplo, puedes buscar todos los archivos de más de 100 MB modificados hace más de 30 días y moverlos a un directorio de archivo, todo en una sola línea. Esta capacidad de procesamiento masivo es lo que hace de la terminal una herramienta insustituible para la gestión de servidores y el desarrollo de software.
rm, el archivo desaparece permanentemente. Antes de usar rm -rf, verifica siempre la ruta con pwd y ls.
👁️ Visualizar y manipular contenido
Linux ofrece múltiples herramientas para ver, editar y transformar el contenido de archivos de texto. Cada una tiene su caso de uso ideal, desde una vista rápida con cat hasta la edición avanzada con expresiones regulares mediante sed. La clave es elegir la herramienta adecuada para cada situación: cat para archivos cortos, less para archivos largos que quieres navegar, head/tail para ver el inicio o el final, y tail -f para monitorizar un archivo en tiempo real (imprescindible cuando estás depurando un servidor y necesitas ver los logs según se escriben).
Las herramientas de transformación (sort, uniq, cut, tr, sed, awk) son el arsenal oculto de los administradores de sistemas. Permiten procesar, filtrar y reformatear datos de texto de forma masiva sin abrir un editor. Un ejemplo típico: extraer de un archivo de logs la lista de IPs únicas que han accedido al servidor, ordenadas por número de accesos. Eso que en un programa gráfico requeriría importar datos en una hoja de cálculo, en la terminal se resuelve combinando tres o cuatro comandos con pipes.
🔍 Búsqueda y filtrado de información
La capacidad de buscar archivos y filtrar información es una de las mayores fortalezas de la terminal Linux. Mientras un explorador gráfico te limita a buscar por nombre en un directorio, la terminal te permite buscar por nombre, tamaño, fecha de modificación, permisos, propietario, tipo de archivo e incluso por el contenido del texto que hay dentro de los archivos.
Los tres comandos clave para búsquedas son grep (busca texto dentro de archivos), find (busca archivos por sus atributos) y locate (búsqueda ultrarrápida usando una base de datos indexada). Los administradores de sistemas combinan estos comandos constantemente: grep para encontrar errores en logs, find para localizar archivos huérfanos que ocupan espacio, y locate para encontrar rápidamente un archivo de configuración cuya ruta no recuerdan.
🔒 Permisos y propiedad de archivos
El sistema de permisos de Linux controla quién puede leer, escribir y ejecutar cada archivo del sistema. A diferencia de Windows, donde los permisos son opcionales y a menudo se ignoran, en Linux los permisos son obligatorios y siempre activos. Cada archivo tiene tres conjuntos de permisos (propietario, grupo y otros) y tres tipos de acceso (lectura, escritura y ejecución). Comprender este modelo es fundamental para la seguridad del sistema y para resolver el clásico error «Permission denied» que asalta a todo principiante.
Los permisos se pueden expresar de dos maneras: la notación simbólica (rwxr-xr--) que es más legible, y la notación numérica (754) que es más rápida de escribir. En la notación numérica, cada permiso tiene un valor: lectura (r) vale 4, escritura (w) vale 2 y ejecución (x) vale 1. Sumas los valores para obtener el permiso de cada grupo. Así, 7 significa todos los permisos (4+2+1), 5 es lectura y ejecución (4+1), y 4 es solo lectura. Los permisos más habituales son 755 para ejecutables, 644 para archivos normales y 600 para archivos privados como claves SSH.
⚙️ Gestión de procesos del sistema
Un proceso es cualquier programa en ejecución. Linux es un sistema multitarea real: gestiona cientos o miles de procesos simultáneamente, asignándoles tiempo de CPU, memoria y acceso a dispositivos. Cada proceso tiene un identificador único llamado PID (Process ID), un propietario, un estado (en ejecución, durmiendo, detenido, zombi) y un consumo de recursos.
Saber supervisar y controlar los procesos es fundamental para mantener el sistema saludable. Si un programa se cuelga y consume toda la CPU, necesitas poder identificarlo y terminarlo. Si un servidor web deja de responder, necesitas verificar si su proceso sigue vivo. Y si quieres ejecutar una tarea larga sin que bloquee tu terminal, necesitas saber enviarla al segundo plano. Los comandos ps, top/htop, kill y el control de trabajos (jobs, fg, bg) te dan ese control.
🌐 Redes y conectividad
Linux es el sistema operativo que alimenta el 96% de los servidores web del mundo, por lo que dominar los comandos de red es imprescindible para cualquier profesional IT. Estos comandos te permiten diagnosticar problemas de conectividad, transferir archivos entre máquinas, monitorizar el tráfico de red, verificar qué puertos están escuchando y realizar peticiones HTTP para probar APIs o servicios web.
Los comandos clásicos como ifconfig y netstat están siendo sustituidos por herramientas más modernas: ip (para configuración de interfaces y rutas) y ss (para sockets y conexiones). Sin embargo, ambas generaciones siguen funcionando en la mayoría de distribuciones. Para transferencia de archivos, scp es el comando básico, pero rsync es mucho más eficiente para sincronizaciones porque solo transfiere los bytes que han cambiado.
📦 Compresión y empaquetado
En Linux, el empaquetado (agrupar archivos en uno solo) y la compresión (reducir tamaño) son conceptos separados, aunque frecuentemente se combinan. El comando tar (tape archive) empaqueta archivos y la opción -z activa la compresión con gzip. El formato resultante .tar.gz (o .tgz) es el estándar del ecosistema Linux, equivalente al .zip de Windows pero con mejor compresión en la mayoría de casos.
Para la compresión pura, tienes varias opciones ordenadas de menor a mayor compresión: gzip (rápido, compresión aceptable), bzip2 (más lento, mejor compresión) y xz (el más lento, mejor compresión). En la práctica, gzip es el más usado por su equilibrio entre velocidad y eficiencia. Si necesitas compatibilidad con Windows, usa directamente zip/unzip.
🛠️ Administración del sistema
Los comandos de administración te dan control sobre el almacenamiento, los paquetes de software, los usuarios y la información general del sistema. Muchos requieren privilegios de superusuario, que se obtienen anteponiendo sudo (superuser do) al comando. Esto te permite ejecutar operaciones con permisos de root sin necesidad de iniciar sesión directamente como root, lo cual sería un riesgo de seguridad.
La gestión de paquetes es uno de los aspectos donde más brilla Linux frente a otros sistemas operativos. En lugar de buscar instaladores en Internet y ejecutarlos manualmente, Linux centraliza todo el software en repositorios oficiales. Un solo comando (apt install en Debian/Ubuntu, dnf install en Fedora/RHEL) descarga el programa, resuelve todas sus dependencias e instala todo automáticamente. Este sistema también permite actualizar todo el software del sistema de una vez, facilitando enormemente el mantenimiento de la seguridad.
Los comandos de información del sistema como uname, df, free y uptime son los primeros que ejecutarás al conectarte a un servidor nuevo. Te dan una radiografía instantánea del estado de la máquina: qué versión del kernel ejecuta, cuánto espacio queda en disco, cuánta RAM hay disponible y cuánto tiempo lleva encendida sin reiniciar. El comando history te permite revisar todos los comandos que has ejecutado anteriormente, lo cual es invaluable cuando necesitas repetir una secuencia de operaciones compleja o averiguar qué hiciste la última vez que configuraste un servicio.
🔗 Redirecciones y tuberías
Las redirecciones y tuberías son el concepto más potente de la filosofía Unix: cada programa hace una sola cosa bien, y se combinan entre sí mediante tuberías (pipes) para resolver problemas complejos. Dominar este concepto te convertirá en un usuario avanzado de la terminal.
En condiciones normales, cada comando tiene tres canales de datos: la entrada estándar (stdin, por defecto el teclado), la salida estándar (stdout, por defecto la pantalla) y la salida de errores (stderr, también la pantalla). Las redirecciones te permiten cambiar estos canales: por ejemplo, enviar la salida a un archivo en vez de a la pantalla, o tomar la entrada de un archivo en vez del teclado.
Las tuberías (|) son aún más potentes: conectan la salida de un comando directamente con la entrada del siguiente, sin archivos intermedios. Puedes encadenar tantos comandos como necesites, creando un «pipeline» de procesamiento donde cada etapa transforma los datos un poco más. Este concepto, inventado por Doug McIlroy en 1973, es la piedra angular de la productividad en la terminal y la razón por la que los administradores de sistemas pueden resolver problemas complejos con una sola línea de comandos.
📋 Cheat sheet: tabla resumen de comandos
Esta tabla resumen incluye los comandos más utilizados organizados por categoría. Imprímela, guárdala en favoritos o tenla siempre abierta en una pestaña: es el recurso perfecto para consultar rápidamente cuando necesites recordar la sintaxis de un comando durante tu trabajo diario. Con el tiempo, los comandos más frecuentes se convertirán en memoria muscular, pero siempre habrá opciones o variantes que necesitarás consultar.
| Categoría | Comando | Descripción | Ejemplo rápido |
|---|---|---|---|
| Navegación | pwd | Ruta actual | pwd |
ls | Listar archivos | ls -lah | |
cd | Cambiar directorio | cd /var/log | |
| Archivos | cp | Copiar | cp -r src/ dst/ |
mv | Mover/renombrar | mv old new | |
rm | Eliminar | rm -ri dir/ | |
mkdir | Crear directorio | mkdir -p a/b | |
| Ver | cat | Mostrar contenido | cat -n f.sh |
head/tail | Inicio/final | tail -f log | |
less | Navegador | less f.log | |
| Buscar | grep | Buscar texto | grep -rn "x" . |
find | Buscar archivos | find / -name "x" | |
| Permisos | chmod | Cambiar permisos | chmod 755 f.sh |
chown | Cambiar dueño | chown -R u:g d/ | |
| Procesos | ps | Listar procesos | ps aux |
kill | Terminar proceso | kill -9 PID | |
| Red | ping | Conectividad | ping -c 4 host |
curl | HTTP | curl -I url | |
scp | Copiar por SSH | scp f u@h: | |
| Sistema | df | Espacio en disco | df -h |
free | Memoria RAM | free -h |
🐛 Errores frecuentes y cómo evitarlos
Estos son los errores más comunes que cometen los usuarios al empezar con la terminal Linux. Conocerlos te ahorrará horas de frustración y, en algunos casos, evitará desastres irreversibles como la pérdida de datos. La buena noticia es que todos tienen solución sencilla si los detectas a tiempo.
Error 1: «Permission denied»
Aparece cuando intentas una operación sin los permisos necesarios. Si es un comando administrativo, añade sudo delante. Si es un script, dale permisos de ejecución con chmod +x.
Error 2: «Command not found»
El comando no está instalado o no está en el PATH del sistema. El PATH es una variable de entorno que contiene la lista de directorios donde el shell busca los ejecutables. Verifica si el comando existe con which comando o type comando. Si no existe, instálalo con tu gestor de paquetes (sudo apt install nombre en Ubuntu/Debian). Si existe pero no lo encuentra, puede que necesites usar la ruta completa al ejecutable o añadir su directorio al PATH editando ~/.bashrc.
Error 3: Borrado accidental con rm
Este es potencialmente el error más grave de todos. Linux no tiene papelera de reciclaje en la terminal: lo que borras con rm desaparece para siempre. Un solo error tipográfico como rm -rf / home (con un espacio entre la barra y «home») borraría el sistema entero en lugar del directorio home. Para protegerte, usa siempre rm -i (confirmación interactiva) o crea un alias permanente en tu .bashrc con alias rm='rm -i'. Y la regla de oro: haz copias de seguridad frecuentes con rsync o tar, porque algún día las necesitarás.
Error 4: Espacios en nombres de archivo
Si un archivo se llama mi archivo.txt, debes escapar el espacio o usar comillas:
🎯 Ejercicios prácticos progresivos
La mejor forma de aprender comandos Linux es practicándolos. Estos ejercicios progresivos van de lo básico a lo avanzado y cubren las habilidades más demandadas en entornos profesionales. Cada uno combina varios comandos, obligándote a pensar en cómo encadenarlos. Intenta resolverlos por tu cuenta antes de consultar la solución: el proceso de pensar, equivocarte y corregir es donde realmente se produce el aprendizaje. Si estás en un sistema real, pruébalos en un directorio temporal (/tmp) para no arriesgar archivos importantes.
Ejercicio 1 — Nivel básico: Exploración del sistema
Navega hasta /etc, lista todos los archivos que terminen en .conf con detalles, cuenta cuántos hay y guarda el resultado en un archivo ~/conteo_conf.txt.
Ver solución
Ejercicio 2 — Nivel intermedio: Detective de logs
Busca en /var/log/syslog (o /var/log/messages) todas las líneas que contengan «error» (sin distinción de mayúsculas), muestra solo las últimas 20, y guárdalas en ~/ultimos_errores.txt.
Ver solución
Ejercicio 3 — Nivel avanzado: Script de limpieza
Encuentra todos los archivos con extensión .tmp en /tmp que tengan más de 7 días de antigüedad, lista cuántos hay, y crea un comando que los elimine (sin ejecutarlo, solo muéstralo con echo).
Ver solución
❓ Preguntas frecuentes sobre Comandos Linux: La Referencia Definitiva con Ejemplos Prácticos
Las dudas más comunes respondidas de forma clara y directa.
💬 Foro de discusión
¿Tienes dudas sobre Comandos Linux: La Referencia Definitiva con Ejemplos Prácticos? Comparte tu pregunta con la comunidad.
Todavía no hay mensajes. ¡Sé el primero en participar!
Guía de iniciación a Linux
Las cuatro lecciones más consultadas del curso, en un PDF de 35 páginas que puedes leer sin conexión: qué es Linux, cómo descargarlo y verificar la descarga, qué distribución elegir y la instalación completa de Linux Mint paso a paso.
🎓 ¿Se puede aprender Linux con un curso bonificado por FUNDAE?
Sí. Todo lo que estás practicando en la terminal se puede llevar a un curso tutorizado de Bash y Shell Script bonificable al 100 % por FUNDAE si trabajas por cuenta ajena en España. Ciberaula es centro acreditado desde 1997.
Bash Scripting y Terminal Linux: Automatización de Sistemas (70 h) →
También te puede encajar: Administración de Sistemas Linux y Shell Script para Empresas → · Administración de Servidores Linux para Empresas: de Cero a Nivel Avanzado →
Ver todos los cursos de Linux bonificados del catálogo → · Ciberaula · Centro acreditado FUNDAE (Reg. 99000171) · 91 530 33 87 · admision@ciberaula.com
💻 Formación en Linux y sistemas, bonificable por tu empresa
Si trabajas en una empresa española puedes formarte con coste bonificado a través del crédito de formación FUNDAE. Consulta el catálogo completo de cursos bonificados para empresas en Ciberaula, centro acreditado desde 1997.