Aprender secretos de Linux: comandos, trucos y juegos para dominarlo

Última actualización: 04/04/2026
Autor: Isaac
  • Dominar Linux pasa por entender cómo gestiona programas, archivos residuales y estructura de directorios, limpiando periódicamente la “basura” que dejan las aplicaciones.
  • La terminal con bash es la herramienta clave: comandos básicos, autocompletado, historial y scripts permiten automatizar tareas y trabajar más rápido que con la interfaz gráfica.
  • Juegos y retos como OverTheWire, Bashcrawl, Root Me, Terminus o cmdchallenge convierten el aprendizaje de la línea de comandos y la ciberseguridad en desafíos prácticos.
  • Un amplio repertorio de comandos prácticos (ls, cd, find, df, nmap, shutdown, curl, chkrootkit…) ofrece control total del sistema y refuerza la seguridad en entornos GNU/Linux.

Aprender secretos de Linux

Aprender los secretos de Linux no va de memorizar comandos como un loro ni de convertirse de la noche a la mañana en un hacker de película; se trata de entender cómo piensa el sistema, cómo organiza sus archivos, cómo se relacionan las aplicaciones con el kernel y, sobre todo, cómo sacarle partido a la terminal sin miedo. Aunque a muchos les imponga respeto esa pantalla negra con letras blancas (o verdes, si te pones nostálgico), en realidad basta con interiorizar unas cuantas ideas clave y practicar con cabeza.

En este artículo vas a encontrar una guía muy completa y práctica para perderle el respeto a Linux: desde cómo gestiona los programas y sus archivos “basura”, hasta juegos y retos online para entrenar la línea de comandos, pasando por un buen puñado de trucos de Bash, atajos de teclado y comandos imprescindibles para el día a día. Todo explicado en castellano de España, con ejemplos claros y toques coloquiales para que no sea un tostón.

Cómo se instalan y desinstalan programas en Linux (y qué basura dejan)

Cada vez que instalas un programa en Linux, el sistema no solo coloca los ejecutables en su directorio principal, también reparte archivos de configuración, cachés, datos temporales y otros ficheros por diferentes rutas del sistema. Esto es parecido a lo que ocurre en Windows o macOS, pero en el mundo GNU/Linux suele estar mucho mejor organizado.

Lo habitual es que el paquete principal se ubique en /usr/bin, /usr/sbin o /opt, mientras que las configuraciones globales se guardan en /etc y las específicas de cada usuario acaban dentro de su carpeta personal, normalmente como archivos ocultos en ~/.config o en directorios que empiezan por un punto. Los datos temporales, cachés y otro tipo de ficheros de trabajo suelen ir a parar a /var, /tmp o ~/.cache.

El problema aparece cuando desinstalas un programa y la herramienta de paquetes (apt, dnf, pacman, etc.) borra el software principal, pero deja atrás parte de sus archivos residuales. No es que sea un drama a corto plazo, pero con el tiempo esas migas digitales se acumulan, ocupan espacio y pueden hacer que el sistema vaya más cargado de lo necesario.

En distribuciones basadas en Debian o Ubuntu puedes usar apt-get remove para desinstalar o apt-get purge para intentar limpiar también las configuraciones asociadas. Aun así, muchas veces quedan ficheros en tu carpeta personal que conviene eliminar a mano, sobre todo si ya no piensas volver a usar esa aplicación o si te está dando problemas al reinstalarla.

Dedicar un rato de vez en cuando a borrar archivos basura (cachés enormes, logs viejos, configuraciones de software que ya no usas) es una tarea de mantenimiento básica, tan importante como actualizar el sistema. Además, en máquinas con discos pequeños o SSD limitados, puede marcar una gran diferencia en rendimiento y espacio disponible.

Perder el miedo a la terminal: tu mejor aliada en Linux

Puede que lo primero que te venga a la cabeza cuando ves una consola sea una pantalla negra digna de película de hackers, con alguien tecleando a toda velocidad como si estuviera entrando en los servidores de la NASA. En la vida real, la terminal de Linux es simplemente una herramienta rápida y directa que hace justo lo que le pides, sin fuegos artificiales.

La gran ventaja de la línea de comandos es que no tienes que navegar por menús interminables, ni esperar a que una interfaz cargue iconos; escribes una orden, pulsas Intro y el sistema responde. Al principio puede costar un poco hacerse a la sintaxis, pero en cuanto dominas los comandos básicos empiezas a notar que muchas tareas diarias se hacen más deprisa así.

La terminal funciona como un intérprete que recibe tus órdenes, las procesa y devuelve un resultado. En Linux se suele usar bash como shell principal, aunque hay otros (zsh, fish, etc.). Con bash puedes moverte por directorios, gestionar archivos, consultar información del sistema, automatizar tareas o incluso escribir pequeños scripts para que el ordenador trabaje por ti.

Si vienes de Windows es normal que al principio te sientas un poco turista en terreno desconocido, pero la curva de aprendizaje se suaviza mucho si combinas teoría con práctica constante, y sobre todo si entiendes para qué sirve cada comando en vez de memorizarlo sin más.

Comandos básicos de terminal: moverte y manejar archivos

Antes de meterte en trucos avanzados, necesitas un repertorio mínimo de comandos para sobrevivir en la consola. Con unos cuantos, ya puedes moverte con soltura por el sistema de archivos y manipular directorios y ficheros sin depender del entorno gráfico.

El comando ls te muestra el contenido de la carpeta en la que estás, algo así como pedirle cotilleos al sistema sobre todo lo que hay en esa ruta. Puedes usarlo tal cual o añadir opciones como ls -a para ver también los archivos ocultos (los que empiezan por punto).

  Easy methods to Join Bluetooth Headphones to PC

Para desplazarte entre directorios usas cd (de change directory). Por ejemplo, cd /etc te lleva a la carpeta de configuración del sistema, cd ~ te devuelve a tu directorio personal y cd .. sube un nivel en el árbol de directorios. Con esto y ls ya puedes empezar a explorar el sistema de ficheros con cierta alegría.

Cuando quieres crear nuevas carpetas, el comando clave es mkdir. Basta con escribir mkdir nombre_directorio y tendrás tu nuevo “espacio” listo para guardar archivos. Para eliminar directorios vacíos puedes recurrir a rmdir, y para borrar ficheros concretos, a rm nombre_fichero.

Si lo que necesitas es copiar o mover archivos, entran en juego cp y mv. Con cp creas una copia en otra ubicación (por ejemplo, cp archivo.txt /ruta/destino/), mientras que con mv cambias el archivo de sitio o incluso lo renombras (por ejemplo, mv archivo.txt nuevo_nombre.txt). Piensa en cp como un clonador y en mv como un flete digital.

Cuando te has liado a navegar por carpetas y ya no tienes claro dónde estás, el comando pwd (print working directory) te muestra la ruta completa del directorio actual. Es como un pequeño GPS que no cobra roaming y siempre te indica el camino.

Por último, si no recuerdas cómo se usa exactamente un comando, tienes a tu disposición man, que abre el “manual” de esa orden. Escribes man nombre_comando y verás su descripción, opciones y ejemplos. Ideal para dejar de ir a ciegas y empezar a entender realmente qué estás ejecutando.

Linux no es solo para expertos: mitos, escritorios y facilidad de uso

Durante años ha circulado la idea de que Linux es un sistema complicado, reservado a administradores de sistemas, programadores o frikis de la informática. Esa imagen ya no se ajusta a la realidad: las distribuciones modernas han hecho un esfuerzo enorme por simplificar la experiencia, sobre todo en el escritorio.

Distros como Ubuntu o Linux Mint ofrecen interfaces muy amigables, con menús, paneles y ventanas que recuerdan bastante a Windows. Puedes abrir y cerrar aplicaciones, gestionar archivos con un explorador gráfico, configurar la red o cambiar el fondo de escritorio sin tocar la terminal, si es lo que prefieres al principio.

Además, los entornos de escritorio como GNOME, KDE Plasma, Cinnamon o Xfce permiten personalizar casi todo: desde la disposición de los paneles hasta los atajos de teclado, pasando por temas de iconos y estilos visuales. Es decir, puedes adaptar el sistema a tu gusto sin grandes complicaciones.

Ahora bien, aunque no es obligatorio, aprender algunos comandos de terminal te abre la puerta a muchas funciones avanzadas, te ayuda a resolver problemas más rápido y te da una flexibilidad que las interfaces gráficas no siempre ofrecen. Es ahí donde entran en juego los juegos y retos que veremos ahora, pensados precisamente para hacer más ameno este aprendizaje.

Juegos y retos para aprender los secretos de Linux jugando

Una de las maneras más entretenidas de entrenar la línea de comandos es recurriendo a juegos y plataformas que convierten ese aprendizaje en un conjunto de desafíos. En lugar de leer listas de comandos eternas, vas aplicando lo que sabes para superar niveles, como si fuese un videojuego.

Un proyecto muy conocido es OverTheWire, que agrupa una serie de “wargames” centrados en distintos aspectos de Linux y de la seguridad. Tienes retos pensados para principiantes, como Bandit o Natas, donde aprendes desde cero conceptos básicos de la consola, permisos, red, etc. Y otros más avanzados, como Leviathan, Krypton, Narnia, Vortex, Utumno o Drifter, donde se profundiza en explotación, criptografía y tareas más complejas.

Si te gustan las aventuras tipo mazmorra, te encantará Bashcrawl. Aquí, la idea es recorrer un sistema de “dungeons” donde cada sala representa directorios y archivos, y los “hechizos” son comandos como ls -F u otras órdenes de Bash. Para avanzar, tienes que explorar, listar, borrar y editar archivos usando la terminal, lo que te obliga a practicar continuamente.

Otro clásico es Root Me, centrado en la ciberseguridad y con más de 600 desafíos de todo tipo. Aunque se percibe como algo muy técnico, en realidad está bien estructurado y propone entornos virtuales donde pones a prueba lo que sabes de Linux, redes, explotación de vulnerabilidades, etc. Es más recomendable cuando ya tienes cierta base de comandos y quieres ir un paso más allá.

También puedes experimentar con Terminus, un juego de aventuras en el que exploras un mundo hecho de comandos como ls, less o cd. El objetivo es aprender a moverte por el sistema de archivos usando solo la terminal, aprovechando atajos y órdenes básicas que luego aplicarás en tu día a día.

Finalmente está cmdchallenge, una web donde cada reto te pide resolver una tarea usando la shell en una sola línea. Empiezas con cosas tan sencillas como mostrar un “Hola Mundo” y acabas manipulando archivos, cadenas de texto o flujos de datos de manera bastante ingeniosa. Es una forma estupenda de consolidar lo que aprendes en cursos o academias.

Si vas combinando estos juegos con tus prácticas habituales, desarrollar habilidades en la CLI resulta mucho menos pesado, y el progreso se nota de forma exponencial, porque te obliga a pensar, probar y equivocarte en un entorno controlado.

Optimizar tu experiencia con Bash: historial, edición y atajos

Una vez dominas lo básico, el siguiente paso es sacar todo el jugo a bash, que es la shell clásica en la mayoría de distribuciones Linux. Conocer sus trucos de autocompletado, historial y edición de línea te ahorra muchísimo tiempo y pulsaciones de teclado.

  Configurar la privacidad y el escudo de navegación en Advanced SystemCare

Para empezar, tienes la autocompleción con la tecla Tab. Escribes las primeras letras de un comando o nombre de archivo y pulsas Tab: si solo hay una coincidencia, bash completa el nombre por ti; si hay varias, puedes pulsar Tab otra vez para mostrar la lista de opciones o seguir escribiendo unas letras más hasta que se aclare.

El historial de comandos se almacena en el archivo ~/.bash_history, y puedes verlo escribiendo simplemente history. Además, con las flechas arriba y abajo recorres los últimos comandos que has ejecutado, o con las combinaciones Ctrl+P y Ctrl+N haces lo mismo. Es una manera muy rápida de repetir órdenes sin tener que reescribirlas desde cero.

Si quieres buscar un comando que usaste hace tiempo, puedes usar la búsqueda inversa del historial con Ctrl+R. Empiezas a escribir parte de la orden y el shell te va mostrando coincidencias anteriores. También existe la búsqueda hacia delante con Ctrl+S. Es una mezcla muy útil entre historial y autocompletado a tiempo real.

A veces te interesa borrar el historial, ya sea por privacidad o porque el archivo está muy cargado. Para vaciarlo para el usuario actual puedes ejecutar history -c. Si quieres eliminar por completo el archivo donde se guarda, un truco clásico es redirigir /dev/null al fichero con algo como cat /dev/null > ~/.bash_history, dejando el histórico en blanco.

Cuando trabajas con líneas largas, aprender a editar texto en la terminal es clave. Con Ctrl+A te sitúas al principio de la línea, y con Ctrl+E saltas al final. Las flechas izquierda y derecha mueven el cursor carácter a carácter, y si añades Ctrl a las flechas puedes ir palabra a palabra. Para borrar desde el cursor hasta el final de la línea se usa Ctrl+K, y para eliminar hacia el principio puedes recurrir a combinaciones como Ctrl+U (según configuración) o variantes mencionadas en algunos trucos, junto con la tecla de retroceso.

Incluso puedes cambiar mayúsculas y minúsculas directamente en la línea actual. Situando el cursor en la palabra y usando Esc seguido de C o L, bash transforma el texto seleccionado a mayúsculas o minúsculas, lo que viene muy bien cuando escribes rutas o variables a toda prisa y quieres corregir el formato.

Para copiar y pegar texto en muchas terminales modernas se emplea Ctrl+Shift+C para copiar y Ctrl+Shift+V para pegar, lo que es especialmente útil cuando no tienes ratón o trabajas por SSH. En sistemas ligeros, como cuando usas una Raspberry Pi sin periféricos completos, estos atajos pueden salvarte la vida.

Por último, un concepto fundamental es el de scripts en bash. Si todos los días repites las mismas acciones (por ejemplo, ver el historial, limpiar la pantalla y borrar el fichero de historial), puedes escribir un pequeño archivo .sh con la secuencia de comandos y darle permisos de ejecución. Así solo tendrás que lanzarlo (por ejemplo, ./borrado.sh) para que haga el trabajo de forma automatizada.

Comandos útiles y trucos prácticos para el día a día

Más allá de los básicos, hay una colección de comandos muy prácticos que conviene tener en la recámara para gestionar tu sistema con soltura y resolver problemas habituales desde la consola.

Para recordar siempre dónde estás, ya hemos visto pwd. Para cambiar a otra ruta, usas cd /ruta/del/directorio, con variantes como cd .. para ir al directorio padre, cd ~usuario para ir al home de otro usuario o cd / para saltar directamente a la raíz del sistema de archivos.

Si necesitas saber qué hay en un directorio concreto, llamas a ls, y si quieres que te muestre también archivos ocultos, ls -a. Cuando buscas un archivo concreto por todo el sistema, el comando clásico es find / -name nombre_fichero, que recorre la jerarquía completa hasta encontrar coincidencias.

Cuando te preocupa el espacio en disco, comandos como du -sh /directorio te dan una estimación del tamaño de una carpeta, mientras que df -H muestra el espacio libre y ocupado en todas las particiones, incluyendo porcentajes y tamaños legibles. Son imprescindibles para controlar si el disco está a punto de llenarse.

Si quieres hacer copias de seguridad de un directorio, en sistemas tipo Unix también puedes recurrir a herramientas como dump. Un ejemplo típico sería crear una copia de /home en /tmp con un nombre concreto, algo del estilo dump -0aj -f /tmp/copia1.bak /home, con lo que generas un backup completo.

Para generar imágenes ISO de un disco de forma rápida, existen comandos como mkisofs /dev/cdrom > nombre_imagen.iso, que toman el contenido del dispositivo óptico y lo vuelcan a un archivo .iso. Esto era muy habitual con CDs y DVDs, pero también se aplica hoy en entornos donde todavía se usan medios ópticos o imágenes localizadas.

En el terreno gráfico, cuando una aplicación se queda congelada y bloquea la interfaz, puedes recurrir a xkill. Escribes el comando, el cursor se convierte en una especie de aspa, y al hacer clic en la ventana problemática fuerzas su cierre inmediato, sin tener que matar todo el entorno de escritorio.

Si quieres repetir el último comando que ejecutaste, basta con escribir !!. Y si te interesa que una orden no se guarde en el historial, un truco clásico es introducir un espacio antes del comando. De esa forma, ciertas configuraciones de bash lo excluyen del fichero de histórico, algo útil cuando manejas información sensible.

  Lenovo Quick Clean para mantenimiento en Windows 11

Para obtener ayuda detallada de cualquier orden, vuelves a tirar de man nombre_comando, mientras que para consultar datos de hardware, comandos como dmidecode -q recaban información de la BIOS/UEFI, y sudo hdparm -i /dev/sda muestra detalles técnicos de discos duros o SSD concretos.

Si lo que buscas es conocer mejor tu CPU, el archivo virtual /proc/cpuinfo te ofrece un listado muy completo sobre núcleos, frecuencias y características soportadas. Solo tienes que hacer cat /proc/cpuinfo para verlo todo en texto plano.

Cuando necesitas un calendario rápido, el comando cal es tu amigo: puedes usar algo como cal 2015 para ver el calendario de todo un año, o cal 10 2015 para mostrar un mes concreto, indicando primero el número de mes y luego el año.

Programar apagados del sistema también es sencillo. Por ejemplo, shutdown -h 08:50 permite indicar una hora a la que quieres que el equipo se apague, ideal si estás descargando algo y no quieres que el ordenador se quede encendido toda la noche.

Para saber cuál es tu IP interna, comandos como ifconfig (o ip addr en sistemas más modernos) te muestran las interfaces y su configuración. Si, en cambio, necesitas averiguar tu IP pública, puedes usar una pequeña consulta web con curl ifconfig.me/ip, que te devuelve la dirección externa con la que sales a Internet.

Cuando la pantalla del terminal se ha llenado de líneas y prefieres empezar “fresco”, puedes limpiarla con clear o usando el atajo Ctrl+L, dejando el shell como recién abierto.

En entornos con máquinas virtuales, como VirtualBox o VMware, es muy habitual querer comunicar el sistema anfitrión con la máquina virtual o varias VMs entre sí. Para ello, puedes seleccionar modos de red como NAT (para enlazar VMs entre ellas) o Bridge (para que la virtual se comporte como otro equipo de la red física). En este último caso, tendrás que configurar la IP de la invitada, por ejemplo con algo como ifconfig eth0 192.168.1.10, asegurándote de que comparte rango de red con el host.

Si el sistema te bombardea con mensajes de error inofensivos, una solución algo bruta, pero efectiva, es borrar los archivos de crash ubicados en /var/crash. Un comando como sudo rm /var/crash/* limpia esos reportes y elimina las ventanas emergentes relacionadas, aunque es recomendable revisar antes que no se trate de fallos graves.

Cuando el disco duro está al borde del colapso, puedes ganar espacio limpiando paquetes y dependencias sobrantes con órdenes como sudo apt-get autoclean, sudo apt-get clean y sudo apt-get autoremove. Entre las tres reducen caches de paquetes y eliminan software que ya no es necesario.

Si quieres saber qué bibliotecas usa un programa, la herramienta ldd es la indicada. Por ejemplo, ldd /bin/ls devuelve las librerías de las que depende el comando ls, lo que ayuda mucho a la hora de depurar problemas relacionados con dependencias.

Para borrar en masa todos los ficheros de una extensión concreta, puedes combinar find con xargs. Por ejemplo, find -name *.gif | xargs rm -rf localizaría todas las imágenes con extensión .gif y las eliminaría sin preguntar, así que conviene usarlo con mucho cuidado.

Si te preocupa la seguridad y el estado de los puertos, puedes recurrir a herramientas como nmap. Comandos del estilo nmap -sS -O (para puertos TCP) o nmap -sU -O (para UDP) permiten escanear puertos abiertos e intentar identificar el sistema operativo remoto, algo muy útil en auditorías y pentesting.

Para comprobar qué shell estás usando exactamente, puedes ejecutar echo $SHELL, que devolverá la ruta del intérprete actual (normalmente /bin/bash, aunque podría ser zsh u otro). Y si quieres saber la versión del kernel, la arquitectura y detalles básicos del sistema, uname -a te proporciona toda esa información de un vistazo.

En el ámbito de la seguridad avanzada, una amenaza clásica son los rootkits, conjuntos de herramientas diseñadas para otorgar acceso administrador a atacantes de forma encubierta y parte de la nueva ola de ciberamenazas. Para comprobar si tu sistema podría estar infectado, puedes descargar paquetes como chkrootkit, descomprimirlos (por ejemplo, con tar -xvf chkrootkit.tar.gz), entrar en el directorio creado (cd chkrootkit-0.49/), compilar y lanzar el análisis con órdenes como make sense y ./chkrootkit.

Tener todos estos comandos y trucos en la cabeza te da un control muy fino sobre tu sistema, tanto para las tareas más rutinarias como para situaciones de emergencia, auditorías de seguridad o debugging avanzado.

Al final, aprender los secretos de Linux es una mezcla de práctica, curiosidad y constancia: cuanto más toqueteas (con cuidado), más entiendes cómo se comporta el sistema y más natural te resulta moverte por él, tanto en modo gráfico como desde la terminal.

hardening para portátiles que viajan mucho
Artículo relacionado:
Hardening para portátiles que viajan mucho: guía completa de seguridad