Comandos Linux: La Referencia Definitiva con Ejemplos Prácticos

📅 Actualizado en febrero 2026 ✍️ Ángel López 📊 Nivel: Principiante ⏱️ 35 min de lectura

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.

Manos escribiendo en un teclado de ordenador, representando el uso de la terminal Linux
📸 Pexels — Licencia libre

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.

terminal — anatomía de un comando
# Estructura básica ls -la /home/usuario # │ │ └── argumento (sobre qué actúa) # │ └── opciones (-l = formato largo, -a = mostrar ocultos) # └── comando # Consultar el manual de cualquier comando man ls # Ayuda rápida ls --help # Descripción breve whatis ls ls (1) - list directory contents
✅ Consejo fundamental
Antes de usar un comando que no conoces, consulta su manual con man nombre_comando. Es la documentación más fiable que existe. Navega con las flechas, busca con /texto y sal con q.

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.

Estructura del Sistema de Archivos Linux / /home Carpetas personales /etc Configuración /var Datos variables /usr Programas /tmp Temporales Directorio Contenido Ejemplo /bin Binarios esenciales del sistema ls, cp, mv, cat /home Directorios personales de cada usuario /home/ana/ /etc Archivos de configuración del sistema /etc/passwd /var Datos que cambian: logs, caché, correo /var/log/syslog /usr Programas y bibliotecas del usuario /usr/bin/python3 /root Home del superusuario (root) /root/.bashrc Estructura del Sistema de Archivos Linux / /home Carpetas personales /etc Configuración /var Datos variables /usr Programas /tmp Temporales Directorio Contenido Ejemplo /bin Binarios esenciales del sistema ls, cp, mv, cat /home Directorios personales de cada usuario /home/ana/ /etc Archivos de configuración del sistema /etc/passwd /var Datos que cambian: logs, caché, correo /var/log/syslog /usr Programas y bibliotecas del usuario /usr/bin/python3 /root Home del superusuario (root) /root/.bashrc
terminal — navegación básica
# Mostrar la ruta del directorio actual pwd /home/usuario # Listar archivos con detalles ls -lh drwxr-xr-x 5 usuario grupo 4,0K feb 26 Documentos -rw-r--r-- 1 usuario grupo 2,1M feb 25 informe.pdf # Listar TODO incluidos archivos ocultos ls -la # Cambiar de directorio cd /var/log # Ruta absoluta cd Documentos # Ruta relativa cd .. # Subir un nivel cd ~ # Ir al home del usuario cd - # Volver al directorio anterior # Ver estructura en árbol tree -L 2 /home/usuario /home/usuario ├── Documentos │ ├── proyecto │ └── notas.md ├── Descargas │ └── ubuntu.iso └── .bashrc
💡 Atajos de navegación
El carácter ~ 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.

terminal — crear y eliminar
# Crear directorio mkdir proyecto # Crear estructura anidada de una vez mkdir -p proyecto/src/main/java # Crear un archivo vacío touch README.md # Crear un archivo con contenido echo "Hola mundo" > saludo.txt # Eliminar un archivo rm saludo.txt # Eliminar directorio con contenido (¡CUIDADO!) rm -r proyecto/ # Eliminar con confirmación interactiva (más seguro) rm -ri proyecto/
terminal — copiar y mover
# Copiar un archivo cp original.txt copia.txt # Copiar directorio completo (recursivo) cp -r proyecto/ backup/ # Copiar preservando permisos y fechas cp -a proyecto/ backup/ # Mover / renombrar mv viejo.txt nuevo.txt # Mover varios archivos a un directorio mv *.pdf Documentos/ # Crear enlace simbólico ln -s /ruta/al/original enlace
⚠️ Peligro: rm sin red
Linux no tiene papelera de reciclaje en la terminal. Cuando ejecutas 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.

terminal — visualizar archivos
# Mostrar todo el contenido cat /etc/hostname mi-servidor # Mostrar con números de línea cat -n script.sh # Ver las primeras / últimas líneas head -n 20 /var/log/syslog tail -n 20 /var/log/syslog # Seguir un archivo en tiempo real (ideal para logs) tail -f /var/log/syslog # Navegador interactivo (scroll con flechas, q para salir) less /etc/passwd # Contar líneas, palabras y bytes wc archivo.txt 42 318 2105 archivo.txt
terminal — transformar contenido
# Ordenar líneas alfabéticamente sort nombres.txt # Ordenar numéricamente en orden inverso sort -rn numeros.txt # Eliminar líneas duplicadas y contar ocurrencias sort lista.txt | uniq -c # Extraer columnas (campo 1 separado por :) cut -d':' -f1 /etc/passwd # Reemplazar texto con sed sed 's/foo/bar/g' archivo.txt # Reemplazar tabuladores por comas tr '\t' ',' < datos.tsv > datos.csv

🔍 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.

Pantalla de monitor mostrando código y línea de comandos
📸 Pexels — Licencia libre
terminal — grep (buscar texto dentro de archivos)
# Buscar una palabra en un archivo grep "error" /var/log/syslog # Sin distinción de mayúsculas grep -i "error" /var/log/syslog # Buscar recursivamente en un directorio grep -r "TODO" /home/usuario/proyecto/ # Con número de línea grep -n "función" script.py # Líneas que NO contengan el patrón grep -v "#" /etc/fstab # Expresiones regulares extendidas grep -E "error|warning|critical" /var/log/syslog
terminal — find (buscar archivos en el sistema)
# Buscar por nombre find /home -name "*.pdf" # Sin distinción de mayúsculas find / -iname "readme*" # Por tipo (f=archivo, d=directorio) find /var -type f -name "*.log" # Modificados en las últimas 24 horas find /home -mtime -1 # Archivos mayores de 100MB find / -size +100M # Buscar y ejecutar un comando sobre cada resultado find /tmp -name "*.tmp" -exec rm {} \; # Búsqueda rápida con locate (usa índice) locate "nginx.conf" sudo updatedb # Actualizar base de datos

🔒 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.

Decodificando los Permisos Linux - r w x r - x r - - Propietario (u) Grupo (g) Otros (o) 7 5 4 = chmod 754 Valores numéricos: r = 4 (lectura) w = 2 (escritura) x = 1 (ejecución) Permisos habituales: 755 (ejecutable), 644 (archivo normal), 700 (solo propietario) Tipo de archivo: - archivo, d directorio, l enlace simbólico Decodificando los Permisos Linux - r w x r - x r - - Propietario (u) Grupo (g) Otros (o) 7 5 4 = chmod 754 Valores numéricos: r = 4 (lectura) w = 2 (escritura) x = 1 (ejecución) Permisos habituales: 755 (ejecutable), 644 (archivo normal), 700 (solo propietario) Tipo de archivo: - archivo, d directorio, l enlace simbólico
terminal — permisos y propiedad
# Ver permisos de un archivo ls -l script.sh -rwxr-xr-- 1 ana developers 2048 feb 26 script.sh # Cambiar permisos con notación numérica chmod 755 script.sh # rwxr-xr-x chmod 644 documento.txt # rw-r--r-- # Cambiar permisos con notación simbólica chmod u+x script.sh # Añadir ejecución al propietario chmod g-w archivo.txt # Quitar escritura al grupo chmod a+r documento.pdf # Añadir lectura para todos # Cambiar propietario y grupo sudo chown ana:developers proyecto/ # Cambiar recursivamente sudo chown -R ana:developers proyecto/

⚙️ 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.

terminal — procesos
# Ver TODOS los procesos del sistema ps aux # Monitor interactivo en tiempo real htop # Buscar un proceso por nombre pgrep -a firefox # Terminar un proceso kill 1234 # Terminación limpia (SIGTERM) kill -9 1234 # Forzar cierre (SIGKILL) killall firefox # Matar por nombre # Ejecutar en segundo plano ./script_largo.sh & jobs # Ver trabajos en segundo plano fg %1 # Traer al primer plano # Ver uso de memoria del sistema free -h # Tiempo encendido y carga del sistema uptime

🌐 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.

terminal — redes
# Ver interfaces de red ip addr show # Comprobar conectividad ping -c 4 google.com # Trazar la ruta hasta un destino traceroute google.com # Ver puertos abiertos ss -tulnp # Consultar DNS dig google.com # Descargar un archivo wget https://ejemplo.com/archivo.zip curl -O https://ejemplo.com/archivo.zip # Petición HTTP (ver cabeceras) curl -I https://linux.ciberaula.com # Copiar archivos por SSH scp archivo.txt usuario@servidor:/home/ # Sincronizar (solo cambios, más eficiente) rsync -avz carpeta/ usuario@servidor:/backup/

📦 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.

terminal — compresión
# Crear un archivo tar.gz tar -czf backup.tar.gz carpeta/ # Extraer un tar.gz tar -xzf backup.tar.gz # Extraer en un directorio específico tar -xzf backup.tar.gz -C /destino/ # Ver contenido sin extraer tar -tzf backup.tar.gz # Comprimir con gzip gzip archivo.txt gunzip archivo.txt.gz # ZIP (compatibilidad con Windows) zip -r backup.zip carpeta/ unzip backup.zip

🛠️ 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.

terminal — administración
# ── DISCO ── df -h # Espacio libre en particiones du -sh /home/Documentos # Tamaño de un directorio du -h --max-depth=1 /home | sort -rh | head # ── PAQUETES (Debian/Ubuntu) ── sudo apt update # Actualizar lista sudo apt upgrade # Instalar actualizaciones sudo apt install htop # Instalar programa apt search editor # Buscar paquete sudo apt remove htop # Eliminar programa # ── INFORMACIÓN ── uname -a # Kernel lsb_release -a # Distribución whoami # Usuario actual history # Historial de comandos date # Fecha y hora

🔗 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.

Tuberías (Pipes): la Filosofía Unix cat access.log | grep "404" | sort | uniq -c | sort -rn | head -5 cat Lee archivo | grep 404 Filtra | sort Ordena | uniq -c Cuenta | sort -rn Por cantidad | head -5 Top 5 Operadores: > sobrescribe >> añade < entrada 2> errores &> todo | pipe Tuberías (Pipes): la Filosofía Unix cat access.log | grep "404" | sort | uniq -c | sort -rn | head -5 cat Lee archivo | grep 404 Filtra | sort Ordena | uniq -c Cuenta | sort -rn Por cantidad | head -5 Top 5 Operadores: > sobrescribe >> añade < entrada 2> errores &> todo | pipe
terminal — redirecciones y pipes en acción
# Guardar salida en un archivo ls -la > listado.txt echo "nueva línea" >> log.txt # Descartar errores find / -name "*.log" 2>/dev/null # ── PIPES: combinar comandos ── # Contar archivos .php en un proyecto find . -name "*.php" | wc -l # Top 5 URLs con errores 404 grep "404" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -5 # Los 10 procesos que más memoria consumen ps aux | sort -k4 -rn | head -10 # Listar usuarios del sistema cat /etc/passwd | cut -d':' -f1 | sort # Informe de espacio en disco du -h --max-depth=1 /home | sort -rh | head -10 > informe.txt

📋 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íaComandoDescripciónEjemplo rápido
NavegaciónpwdRuta actualpwd
lsListar archivosls -lah
cdCambiar directoriocd /var/log
ArchivoscpCopiarcp -r src/ dst/
mvMover/renombrarmv old new
rmEliminarrm -ri dir/
mkdirCrear directoriomkdir -p a/b
VercatMostrar contenidocat -n f.sh
head/tailInicio/finaltail -f log
lessNavegadorless f.log
BuscargrepBuscar textogrep -rn "x" .
findBuscar archivosfind / -name "x"
PermisoschmodCambiar permisoschmod 755 f.sh
chownCambiar dueñochown -R u:g d/
ProcesospsListar procesosps aux
killTerminar procesokill -9 PID
RedpingConectividadping -c 4 host
curlHTTPcurl -I url
scpCopiar por SSHscp f u@h:
SistemadfEspacio en discodf -h
freeMemoria RAMfree -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.

terminal — solución
sudo apt update # Para comandos administrativos chmod +x mi_script.sh # Para scripts propios

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:

terminal — espacios en nombres
# Estas tres formas son equivalentes: cat "mi archivo.txt" cat 'mi archivo.txt' cat mi\ archivo.txt

🎯 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
solución ejercicio 1
cd /etc ls -l *.conf ls *.conf | wc -l > ~/conteo_conf.txt cat ~/conteo_conf.txt

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
solución ejercicio 2
grep -i "error" /var/log/syslog | tail -20 > ~/ultimos_errores.txt cat ~/ultimos_errores.txt

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
solución ejercicio 3
# Listar los archivos candidatos find /tmp -name "*.tmp" -mtime +7 -type f # Contar cuántos son find /tmp -name "*.tmp" -mtime +7 -type f | wc -l # Mostrar el comando de eliminación (sin ejecutar) echo "find /tmp -name '*.tmp' -mtime +7 -type f -exec rm {} \;" # Para ejecutar realmente (cuando estés seguro): # find /tmp -name "*.tmp" -mtime +7 -type f -exec rm {} \;
💡 Sigue aprendiendo
Esta referencia cubre los comandos esenciales, pero Linux tiene cientos más. Explora artículos relacionados de nuestro curso: Bash scripting para automatizar tareas, permisos avanzados para profundizar en seguridad, expresiones regulares para filtrado potente, y SSH y acceso remoto para administrar servidores. Si quieres dominar Linux a nivel profesional, consulta nuestros cursos de Linux bonificados.

❓ Preguntas frecuentes sobre Comandos Linux: La Referencia Definitiva con Ejemplos Prácticos

Las dudas más comunes respondidas de forma clara y directa.

Los comandos esenciales para empezar son: cd (cambiar directorio), ls (listar archivos), pwd (mostrar ruta actual), cp (copiar), mv (mover), rm (eliminar), cat (ver contenido), mkdir (crear directorio) y man (consultar manuales). Con estos 9 comandos puedes realizar el 80% de las tareas básicas en la terminal.
Tienes tres opciones principales: man comando (abre el manual completo), comando --help (muestra una ayuda resumida) y whatis comando (da una descripción de una línea). También puedes usar apropos palabra_clave para buscar comandos relacionados con un tema.
El comando rm elimina archivos individuales. La opción -r (recursive) permite eliminar directorios con todo su contenido, y -f (force) evita las confirmaciones. El comando rm -rf es extremadamente peligroso porque borra todo sin preguntar y sin posibilidad de recuperación. Nunca lo uses sin estar completamente seguro de la ruta.
El pipe (|) conecta la salida de un comando con la entrada de otro, creando una cadena de procesamiento. Por ejemplo, ls -la | grep ".txt" toma el listado de archivos y filtra solo los que contienen ".txt". Es uno de los conceptos más potentes de la filosofía Unix.
Usa find / -name "nombre_archivo" para buscar por nombre en todo el sistema. Si necesitas más velocidad, locate nombre_archivo usa una base de datos indexada (actualízala con sudo updatedb). Para buscar texto dentro de archivos, usa grep -r "texto" /ruta/.
Sí. Pulsa Ctrl+C para interrumpir el comando actual. Si quieres pausarlo y mandarlo al segundo plano, usa Ctrl+Z seguido de bg. Para ver los procesos en segundo plano usa jobs, y para traer uno de vuelta usa fg.
Usa df -h para ver el espacio libre en todas las particiones montadas (la opción -h muestra tamaños legibles como GB, MB). Para ver cuánto ocupa un directorio específico, usa du -sh /ruta/directorio.
Valora este artículo

💬 Foro de discusión

¿Tienes dudas sobre Comandos Linux: La Referencia Definitiva con Ejemplos Prácticos? Comparte tu pregunta con la comunidad.

¿Tienes cuenta? o comenta como invitado ↓

Todavía no hay mensajes. ¡Sé el primero en participar!

DESCARGA GRATUITA

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.

Te escribiremos para que confirmes tu correo: la descarga empieza en ese mismo clic. Sin confirmar, tu dirección no se da de alta en ninguna lista. Puedes darte de baja cuando quieras.

🎓 ¿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.