50 Comandos Linux Esenciales para Principiantes y Administradores [2026] ¿Qué son los comandos Linux? Los comandos Linux son instrucciones textuales que los usuarios y administradores utilizan para interactuar con el sistema operativo Linux a través de una interfaz de línea de comandos (CLI), permitiendo ejecutar tareas, gestionar archivos, configurar el sistema y automatizar procesos. Dominar la terminal Linux es una habilidad fundamental tanto para principiantes que se inician en el mundo del software libre como para administradores de sistemas experimentados. Los comandos Linux son la puerta de entrada a un control preciso y eficiente sobre cualquier distribución, desde Ubuntu y Fedora hasta CentOS y Debian. En esta guía exhaustiva, exploraremos 50 comandos Linux esenciales que te permitirán navegar, manipular archivos, gestionar procesos, configurar redes y mantener tu sistema con la confianza de un experto. Ya sea que necesites realizar `comandos Linux básicos` para el uso diario o `terminal Linux comandos` avanzados para la administración de servidores, esta referencia te equipará con el conocimiento necesario para ser productivo en 2026 y más allá. Punto ClaveAprenderás 50 comandos Linux esenciales, categorizados para facilitar su comprensión y aplicación práctica.Se incluyen ejemplos claros y salidas esperadas para cada comando, facilitando el aprendizaje y la resolución de problemas.Explorarás comandos desde la navegación básica hasta la gestión avanzada de permisos, redes y procesos.Esta guía es invaluable tanto para quienes dan sus primeros pasos en Linux como para administradores que buscan consolidar sus conocimientos de `comandos Linux administrador`. Navegación por el sistema de archivos: tu brújula en Linux La capacidad de moverse eficientemente por el sistema de archivos es la base de cualquier interacción con Linux. Estos comandos son tu brújula, permitiéndote saber dónde estás, a dónde puedes ir y cómo encontrar lo que necesitas. La comprensión de la estructura de directorios de Linux es crucial, donde todo comienza desde el directorio raíz (`/`). cd: cambiar de directorio El comando cd (change directory) te permite moverte entre directorios. Es uno de los `comandos Linux básicos` más usados y el pilar de la navegación en la terminal. # Moverse al directorio personal del usuario cd ~ # Moverse a un directorio específico (ruta absoluta) cd /var/log # Moverse a un directorio específico (ruta relativa) cd Documentos # Volver al directorio anterior cd - # Subir un nivel en la jerarquía de directorios cd .. pwd: mostrar el directorio de trabajo actual El comando pwd (print working directory) te dice dónde te encuentras actualmente en el sistema de archivos. Es fundamental para orientarse, especialmente cuando trabajas con rutas relativas. pwd Salida esperada: /home/usuario/Documentos ls: listar contenido del directorio ls (list) te muestra el contenido de un directorio. Es extremadamente versátil, con muchas opciones para personalizar la salida. # Listar archivos y directorios en el directorio actual ls # Listar todos los archivos, incluyendo los ocultos (que empiezan con .) ls -a # Listar en formato largo (detalles: permisos, propietario, tamaño, fecha) ls -l # Combinar opciones: listar todo en formato largo y legible para humanos ls -lah Salida esperada de ls -l: total 4 drwxr-xr-x 2 usuario grupo 4096 mar 24 10:30 Documentos -rw-r--r-- 1 usuario grupo 128 mar 23 15:45 archivo.txt find: buscar archivos y directorios El comando find es una herramienta poderosa para buscar archivos y directorios que cumplen con ciertos criterios. Puedes buscar por nombre, tipo, tamaño, fecha y mucho más, lo que lo convierte en un comando indispensable para cualquier `comandos Linux administrador`. # Buscar un archivo por nombre en el directorio actual y subdirectorios find . -name "informe.pdf" # Buscar archivos modificados en los últimos 7 días find /var/log -mtime -7 # Buscar directorios vacíos find . -type d -empty Gestión de archivos y directorios: construyendo y organizando Una vez que puedes navegar, el siguiente paso es gestionar los elementos dentro de tu sistema. Los comandos de gestión de archivos y directorios te permiten crear, copiar, mover, renombrar y eliminar archivos y carpetas, manteniendo tu espacio de trabajo organizado y eficiente. Estos son algunos de los `comandos Linux terminal` más utilizados en el día a día. mkdir: crear directorios mkdir (make directory) se utiliza para crear nuevas carpetas o directorios. Es un comando sencillo pero esencial para estructurar tu sistema de archivos. # Crear un solo directorio mkdir nuevo_proyecto # Crear directorios anidados de una sola vez mkdir -p proyecto/src/main touch: crear archivos vacíos o actualizar marcas de tiempo El comando touch se usa principalmente para crear archivos vacíos. También puede actualizar la fecha y hora de acceso y modificación de un archivo existente sin cambiar su contenido. # Crear un archivo vacío touch mi_archivo.txt # Actualizar la marca de tiempo de un archivo existente touch informe_final.docx cp: copiar archivos y directorios cp (copy) te permite duplicar archivos o directorios de una ubicación a otra. Es crucial para hacer copias de seguridad o replicar datos. # Copiar un archivo cp origen.txt destino.txt # Copiar un archivo a un directorio cp informe.pdf Documentos/ # Copiar un directorio y su contenido de forma recursiva cp -r datos_antiguos datos_nuevos/ mv: mover o renombrar archivos y directorios mv (move) tiene una doble función: mover archivos/directorios a una nueva ubicación o renombrarlos. Es un comando muy potente para reorganizar tu información. # Mover un archivo mv archivo.txt Documentos/ # Renombrar un archivo mv antiguo_nombre.txt nuevo_nombre.txt # Mover y renombrar un directorio mv mi_proyecto_viejo mi_proyecto_nuevo_ubicacion/ rm: eliminar archivos y directorios rm (remove) se usa para eliminar archivos y directorios. Este comando debe usarse con precaución, ya que los archivos eliminados con rm no suelen ir a una "papelera de reciclaje" y su recuperación puede ser compleja o imposible. # Eliminar un archivo rm archivo_no_necesario.txt # Eliminar un directorio vacío rmdir mi_directorio_vacio # Eliminar un directorio y su contenido de forma recursiva y forzada (¡usar con extrema cautela!) rm -rf directorio_a_borrar/ Procesamiento de texto y manipulación de datos: la navaja suiza de la terminal Linux es famoso por su enfoque en la composición de herramientas, y los comandos de procesamiento de texto son el corazón de esta filosofía. Permiten filtrar, transformar y analizar el contenido de los archivos de texto de maneras muy potentes, siendo imprescindibles para tareas de scripting y análisis de logs. cat: concatenar y mostrar contenido de archivos cat (concatenate) muestra el contenido de uno o varios archivos en la salida estándar. Es uno de los `comandos Linux básicos` para visualizar rápidamente un archivo. # Mostrar el contenido de un archivo cat mi_log.txt # Concatenar varios archivos y mostrar su contenido cat archivo1.txt archivo2.txt Salida esperada (de cat mi_log.txt): [2023-01-01 10:00:01] INFO: Aplicación iniciada. [2023-01-01 10:00:05] ERROR: Fallo en la conexión a la base de datos. [2023-01-01 10:01:10] INFO: Reintentando conexión... grep: buscar patrones en archivos grep (Global Regular Expression Print) es un comando increíblemente útil para buscar líneas que coinciden con un patrón específico en uno o varios archivos. Es el comando de búsqueda por excelencia en la `terminal Linux comandos`. # Buscar la palabra "error" en un archivo log grep "ERROR" mi_log.txt # Buscar "warning" ignorando mayúsculas/minúsculas grep -i "warning" mi_log.txt # Buscar líneas que NO contengan un patrón grep -v "INFO" mi_log.txt # Contar el número de ocurrencias de un patrón grep -c "Falló" mi_log.txt Salida esperada (de grep "ERROR" mi_log.txt): [2023-01-01 10:00:05] ERROR: Fallo en la conexión a la base de datos. awk: lenguaje de procesamiento de texto awk es un lenguaje de programación de propósito especial diseñado para el procesamiento de texto basado en patrones. Es muy potente para el análisis de datos estructurados. # Imprimir la primera y tercera columna de un archivo (delimitador por defecto: espacio) awk '{print $1, $3}' datos.txt # Sumar la segunda columna de un archivo CSV (delimitador: coma) awk -F',' '{sum+=$2} END {print sum}' ventas.csv sed: editor de flujo para filtrar y transformar texto sed (stream editor) es un comando que filtra y transforma texto de forma eficiente. Es ideal para reemplazos de texto no interactivos y manipulaciones de líneas. # Reemplazar todas las ocurrencias de "viejo" por "nuevo" en un archivo sed 's/viejo/nuevo/g' configuracion.txt # Eliminar líneas que contengan la palabra "DEBUG" sed '/DEBUG/d' log_completo.txt cut: extraer secciones de líneas de texto cut se utiliza para extraer secciones seleccionadas de cada línea de archivos. Es muy útil para trabajar con datos delimitados, como archivos CSV. # Extraer la primera columna (campos separados por coma) cut -d',' -f1 datos_usuario.csv # Extraer el rango de caracteres del 1 al 5 cut -c 1-5 nombres.txt sort y uniq: ordenar y eliminar duplicados sort ordena líneas de texto alfabéticamente (o numéricamente) y uniq filtra líneas adyacentes duplicadas. A menudo se usan juntos con pipes (`|`). # Ordenar un archivo sort lista_desordenada.txt # Contar ocurrencias únicas de líneas en un archivo sort palabras.txt | uniq -c Potencia tu carrera con Linux¿Listo para llevar tus habilidades de administración de sistemas al siguiente nivel? Nuestro curso de Administración de Servidores Linux te proporcionará el conocimiento práctico y las certificaciones necesarias para dominar el entorno Linux y destacarte en el mercado laboral. Ver Curso Consejo: La combinación de grep, awk y sed a través de tuberías (pipes) es increíblemente potente para el procesamiento de logs y la extracción de información específica. Practicar con ellos te ahorrará horas de trabajo manual. Recuerda que para comprender a fondo estas interacciones, es útil entender qué es el SEO semántico y cómo las entidades se relacionan, de forma similar a como los comandos se combinan lógicamente. Gestión de permisos de archivos: seguridad y control La seguridad en Linux es fundamental, y una parte clave de ella es la correcta gestión de permisos de archivos y directorios. Entender y aplicar `chmod`, `chown` y `umask` es vital para cualquier `comandos Linux administrador` y para mantener la integridad del sistema. chmod: cambiar permisos de archivos chmod (change mode) se usa para cambiar los permisos de acceso a archivos y directorios. Los permisos controlan quién puede leer (r), escribir (w) o ejecutar (x) un archivo. Se pueden especificar de forma numérica (octal) o simbólica. # Permisos numéricos (propietario: rwx, grupo: r-x, otros: r-x) chmod 755 script.sh # Permisos simbólicos: añadir permiso de ejecución para el propietario y el grupo chmod ug+x mi_programa # Denegar permiso de escritura para otros chmod o-w informe.txt Explicación de permisos numéricos: 4 = lectura (r) 2 = escritura (w) 1 = ejecución (x) Así, 755 significa: Propietario: 4+2+1 = 7 (rwx) Grupo: 4+0+1 = 5 (r-x) Otros: 4+0+1 = 5 (r-x) chown: cambiar propietario y grupo de archivos chown (change owner) se utiliza para cambiar el usuario propietario y/o el grupo propietario de un archivo o directorio. Este comando suele requerir permisos de superusuario (sudo). # Cambiar propietario de un archivo sudo chown nuevo_usuario archivo.txt # Cambiar propietario y grupo de un archivo sudo chown nuevo_usuario:nuevo_grupo archivo.txt # Cambiar propietario y grupo de un directorio y su contenido de forma recursiva sudo chown -R www-data:www-data /var/www/html umask: establecer permisos predeterminados umask (user file-creation mode mask) define los permisos predeterminados para nuevos archivos y directorios. Es un valor octal que se resta de los permisos máximos (666 para archivos, 777 para directorios). # Mostrar el umask actual umask # Establecer un umask de 0022 (archivos: 644, directorios: 755) umask 0022 Salida esperada de umask: 0022 Control de procesos del sistema: supervisión y gestión La gestión de procesos es crucial para mantener la estabilidad y el rendimiento de un sistema Linux. Desde identificar procesos que consumen muchos recursos hasta detener aplicaciones que no responden, estos comandos son herramientas vitales para un `comandos Linux administrador`. ps, top, htop: visualizar procesos ps (process status) muestra los procesos en ejecución en un momento dado. top y htop (una versión mejorada de top) ofrecen una vista dinámica en tiempo real de los procesos, uso de CPU, memoria, etc. # Mostrar todos los procesos en ejecución (muy común) ps aux # Mostrar los 10 procesos que más CPU consumen (con top) top -b -n 1 | head -n 17 # la salida varía, este es un ejemplo simplificado # Iniciar htop (interactivo, requiere instalación) htop Salida esperada de ps aux (fragmento): USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 170068 9024 ? Ss Mar23 0:02 /sbin/init usuario 12345 5.1 2.3 876543 123456 pts/0 R+ 10:30 0:15 firefox Comparación: top vs. htop Característica top htop Interfaz Basada en texto, menos intuitiva Más visual, interactiva, colorida Navegación Principalmente con teclas numéricas y letras Uso de ratón, flechas para scroll vertical/horizontal Funcionalidad Muestra información de procesos en tiempo real Ofrece funcionalidades adicionales: ordenar por columnas, matar procesos fácilmente, ver árbol de procesos Instalación Preinstalado en la mayoría de distros Generalmente requiere instalación (sudo apt install htop o similar) kill y killall: detener procesos kill envía señales a procesos para terminarlos. killall hace lo mismo, pero para todos los procesos con un nombre específico. # Terminar un proceso por su ID (PID) kill 12345 # Forzar la terminación de un proceso (señal SIGKILL) kill -9 12345 # Terminar todos los procesos con un nombre específico killall firefox nice: cambiar la prioridad de ejecución de un proceso nice permite ejecutar un comando con una prioridad específica, influenciando cómo el kernel asigna recursos de CPU a ese proceso. Los valores van de -20 (más prioridad) a 19 (menos prioridad), con 0 como valor por defecto. # Ejecutar un comando con menor prioridad (nice +10) nice -n 10 tar -zcvf backup.tar.gz /home/usuario/Documentos # Cambiar la prioridad de un proceso ya en ejecución (usando renice) sudo renice -n -5 -p 12345 Herramientas de red y conectividad: comunicando tu sistema La conectividad es clave en la mayoría de los entornos informáticos actuales. Los comandos de red te permiten diagnosticar problemas, transferir archivos y comunicarte con otros sistemas, convirtiéndolos en herramientas indispensables para los `comandos Linux administrador` y desarrolladores. ping: verificar conectividad de red ping envía paquetes ICMP a un host y espera una respuesta, midiendo el tiempo de ida y vuelta. Es el primer comando para diagnosticar problemas de conectividad de red. # Enviar pings a google.com ping google.com # Enviar 4 pings a una IP y terminar ping -c 4 8.8.8.8 Salida esperada (fragmento de ping google.com): PING google.com (142.250.186.206) 56(84) bytes of data. 64 bytes from dfw25s05-in-f14.1e100.net (142.250.186.206): icmp_seq=1 ttl=117 time=15.2 ms 64 bytes from dfw25s05-in-f14.1e100.net (142.250.186.206): icmp_seq=2 ttl=117 time=15.1 ms --- google.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 15.154/15.201/15.249/0.038 ms ip addr / ifconfig: configurar y mostrar interfaces de red ip addr es el comando moderno y recomendado para configurar y mostrar la configuración de las interfaces de red. ifconfig es más antiguo y está en desuso en muchas distribuciones, pero aún se puede encontrar. # Mostrar direcciones IP de todas las interfaces ip addr show # Mostrar interfaces de red con ifconfig (si está instalado) ifconfig ss / netstat: mostrar estadísticas de red ss (socket statistics) es el comando actual para investigar sockets de red. Es más rápido y ofrece más información que netstat, que también está obsoleto pero todavía es útil en sistemas más antiguos. # Mostrar todos los sockets TCP escuchando ss -lt # Mostrar todas las conexiones UDP ss -lu # Mostrar todas las conexiones de red (con netstat, si está instalado) netstat -tuln Consejo: Aunque ifconfig y netstat son comandos clásicos de la `terminal Linux comandos`, la tendencia actual es utilizar ip y ss, respectivamente. Familiarízate con los comandos más modernos, ya que ofrecen mayor funcionalidad y son el estándar en las distribuciones recientes. curl y wget: transferir datos desde/hacia servidores curl y wget son herramientas de línea de comandos para transferir datos con sintaxis de URL. Son ideales para descargar archivos, interactuar con APIs o verificar la disponibilidad de recursos web. # Descargar un archivo con wget wget https://example.com/archivo.zip # Realizar una solicitud GET a una API con curl y ver la respuesta curl https://api.example.com/data # Descargar una página web y guardarla como index.html curl -O https://www.aprender21.com/ ssh: conectar a servidores remotos de forma segura ssh (Secure Shell) permite conectar de forma segura a un servidor remoto, ejecutar comandos e incluso transferir archivos. Es el protocolo de acceso remoto estándar en Linux. # Conectar como usuario a un servidor remoto ssh usuario@servidor_remoto.com # Conectar con una clave SSH específica ssh -i ~/.ssh/mi_clave_privada.pem usuario@servidor_remoto.com Gestión de discos y sistema de información: salud y recursos Monitorear el uso del disco y los recursos del sistema es vital para el mantenimiento y la solución de problemas. Estos comandos proporcionan información crucial sobre el espacio de almacenamiento, la memoria y las especificaciones del hardware, siendo parte del repertorio de cualquier `comandos Linux administrador`. df y du: verificar espacio en disco df (disk free) muestra el espacio libre y usado de los sistemas de archivos montados. du (disk usage) estima el uso de espacio en disco de archivos y directorios. # Mostrar espacio en disco en formato legible para humanos df -h # Mostrar el tamaño total de un directorio en formato legible du -sh /var/log # Mostrar el tamaño de cada archivo/directorio dentro de un directorio, en orden du -h /home/usuario | sort -rh Salida esperada de df -h (fragmento): Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 796M 1.7M 794M 1% /run /dev/sda1 98G 25G 68G 27% / tmpfs 3.9G 0 3.9G 0% /dev/shm mount: montar sistemas de archivos El comando mount se utiliza para montar un sistema de archivos en un punto de montaje en el árbol de directorios de Linux, haciéndolo accesible. También se usa para ver los sistemas de archivos actualmente montados. # Mostrar sistemas de archivos montados actualmente mount # Montar una partición USB (ejemplo) sudo mount /dev/sdb1 /mnt/usb uname, uptime, free, lscpu: información del sistema Estos comandos proporcionan información sobre el kernel, el tiempo de actividad del sistema, el uso de memoria y la CPU. # Mostrar información del kernel (nombre, versión, arquitectura) uname -a # Mostrar cuánto tiempo lleva el sistema funcionando uptime # Mostrar la cantidad de memoria libre y usada free -h # Mostrar información detallada de la CPU lscpu Salida esperada de uptime: 14:05:30 up 1 day, 4:20, 1 user, load average: 0.15, 0.22, 0.20 Acelera tu camino hacia la administración de servidoresConviértete en un experto en la gestión de infraestructuras Linux y abre puertas a nuevas oportunidades profesionales. Nuestro curso te guiará desde los `comandos Linux básicos` hasta las configuraciones más complejas, preparándote para los desafíos del mundo real. Ver Curso Redirecciones y tuberías: flujos de datos y automatización Las tuberías (`|`) y las redirecciones (`>`, `>>`, `<`) son características extremadamente poderosas del shell de Linux. Permiten combinar comandos, redirigir entradas y salidas, y construir flujos de trabajo complejos, sentando las bases para la automatización y el scripting avanzados. Entender esto te da una verdadera ventaja como `comandos Linux administrador`. Tuberías (|): conectar la salida de un comando con la entrada de otro El operador de tubería envía la salida estándar (stdout) de un comando como entrada estándar (stdin) a otro comando. Es la esencia de la filosofía Unix de herramientas pequeñas y especializadas que hacen una cosa bien y se pueden encadenar. # Listar archivos y pasar la salida a grep para filtrar ls -l | grep ".txt" # Mostrar procesos, ordenar por uso de memoria y obtener los 5 primeros ps aux --sort=-%mem | head -n 6 # Contar líneas en un archivo (más sencillo que cat archivo | wc -l, pero ilustra el pipe) cat mi_log.txt | wc -l Salida esperada de ls -l | grep ".txt": -rw-r--r-- 1 usuario grupo 128 mar 23 15:45 archivo.txt -rw-r--r-- 1 usuario grupo 256 mar 24 09:10 otro_archivo.txt Redirección de salida (>, >>): guardar la salida de un comando Los operadores > y >> permiten redirigir la salida estándar de un comando a un archivo en lugar de a la pantalla. >: Sobreescribe el archivo si existe, o lo crea si no. >>: Añade la salida al final del archivo si existe, o lo crea si no. # Guardar la lista de archivos en un archivo (sobrescribe) ls -l > lista_archivos.txt # Añadir un mensaje al final de un log echo "Mensaje de log importante" >> mi_log.txt Redirección de entrada (<): usar un archivo como entrada para un comando El operador < redirige la entrada estándar de un comando para que provenga de un archivo en lugar del teclado. Es menos común, pero útil para comandos que esperan entrada interactiva. # Contar palabras de un archivo usando un comando que espera entrada de stdin wc -w < documento.txt Redirección de errores (2>&1): capturar la salida de error estándar En Linux, hay dos flujos de salida principales: la salida estándar (stdout, descriptor de archivo 1) y la salida de error estándar (stderr, descriptor de archivo 2). Puedes redirigirlos por separado o combinarlos. # Redirigir la salida estándar y la salida de error a un mismo archivo comando_con_errores > salida_y_error.log 2>&1 # Descartar la salida de error (redirigirla a /dev/null) comando_con_errores 2> /dev/null Consejo: La comprensión profunda de cómo los comandos se comunican a través de tuberías y redirecciones es lo que diferencia a un usuario avanzado de Linux. Es la base para escribir scripts de shell eficientes y automatizar tareas complejas, similar a cómo el SEO semántico permite a los motores de búsqueda entender relaciones complejas entre conceptos. Infografía: guía visual con conceptos y datos clave sobre 50 comandos linux esenciales para principiantes y administradores [2026] Infografía resumen Preguntas Frecuentes ¿Cuál es el comando más importante para un principiante en Linux?Para un principiante, el comando más importante es probablemente ls, ya que te permite ver el contenido de los directorios y entender la estructura del sistema de archivos, seguido de cd para navegar. Dominar estos dos sienta las bases para todo lo demás. ¿Es difícil aprender todos estos comandos?No es necesario memorizar los 50 comandos de inmediato. El aprendizaje efectivo implica entender su propósito, practicar con los más comunes (como cd, ls, cp, mv, rm) y luego expandir gradualmente tus conocimientos a medida que surgen necesidades específicas. La práctica constante es clave. ¿Qué diferencia a los comandos Linux de los comandos de Windows o macOS?Aunque los tres sistemas operativos tienen una línea de comandos, los comandos de Linux suelen ser más potentes, versátiles y estandarizados gracias a la filosofía Unix. Esto permite una mayor automatización y procesamiento de texto avanzado, lo que es esencial para la administración de servidores y el desarrollo. ¿Qué recursos adicionales puedo usar para aprender más comandos?Además de esta guía, la mejor fuente de información son las páginas de manual (man pages) accesibles directamente desde la terminal (por ejemplo, man ls). También existen numerosos libros, cursos en línea (como nuestro Curso de Administración de Servidores Linux) y comunidades en línea dedicadas a Linux que ofrecen soporte y tutoriales. ¿Por qué algunos comandos parecen tener nombres similares o hacer cosas parecidas?Linux sigue en gran medida la filosofía de Unix, donde las herramientas son pequeñas y hacen una cosa bien. Aunque algunos comandos puedan parecer redundantes, a menudo tienen matices o están optimizados para tareas específicas. La combinación de estos comandos pequeños y eficientes a través de tuberías y redirecciones es lo que les otorga una inmensa flexibilidad y potencia, un concepto central en la forma de operar de la `terminal Linux comandos`.