Saltar al contenido
LINWIND de Windows a Linux

~/linux

Practica los comandos básicos de la terminal de Linux sin miedo a romper nada

Marcos · · 8 min

Para moverte por la terminal de Linux te basta con una docena de órdenes: pwd te dice dónde estás, ls lista lo que hay, cd te cambia de carpeta, mkdir y touch crean carpetas y ficheros, cat los lee, cp y mv copian y mueven, rm borra y echo escribe texto. Aprenderlas cuesta poco. Lo que frena es el miedo a escribirlas, y por eso lo más cómodo es empezar en una terminal de mentira donde un error no cuesta nada y, cuando ya te salen solas, pasar a la de verdad.

Debajo tienes esa terminal de práctica. Escribe cada orden en la línea de abajo y pulsa Intro. Funciona en el navegador, no ejecuta nada en tu equipo y no guarda nada.

Escribe una orden y pulsa Intro. Con las flechas arriba y abajo recuperas las órdenes anteriores. Escribe help para ver las que entiende esta práctica.

Las 10 misiones
  1. Mira en qué carpeta estás
  2. Lista lo que hay en tu carpeta
  3. Lista también los ficheros ocultos
  4. Lee lo que pone en notas.txt
  5. Crea una carpeta llamada proyectos
  6. Copia notas.txt a proyectos
  7. Entra en la carpeta proyectos
  8. Crea ideas.txt con la frase «Aprender la terminal»
  9. Cambia el nombre de borrador.txt a carta.txt
  10. Borra la carpeta temporal de Descargas con todo lo que tiene

Cómo funciona la práctica

Entras como la usuaria ana, en su carpeta personal /home/ana, con unas cuantas carpetas (Documentos, Descargas, fotos), un par de ficheros de texto y un .bashrc oculto. Todo vive en la memoria de la página. Si recargas, desaparece.

Las diez misiones van en orden, desde mirar en qué carpeta estás hasta borrar una carpeta entera. La práctica no compara el texto de tu orden con una solución, sino que mira cómo ha quedado el sistema de ficheros. Da igual que copies notas.txt con una ruta relativa, con la absoluta o desde otra carpeta. Si la copia está donde tiene que estar, la misión cuenta. Si te atascas, el botón de pista te da la orden, y el de reiniciar lo deja todo como al principio. Con las flechas arriba y abajo recuperas lo que ya escribiste, igual que en bash.

Los errores salen en español, sacados de las traducciones que instala Ubuntu 24.04 con el idioma castellano, así que cuando veas el mismo mensaje en tu ordenador ya sabrás qué significa.

Qué hace cada orden

Cada una tiene su página en el manual del sistema. En la tabla va la frase con la que la describe esa página y un ejemplo de la práctica.

Orden Qué dice el manual Ejemplo
pwd imprime el nombre del directorio de trabajo actual pwd
ls lista el contenido de un directorio ls -la
cd cambia el directorio actual (es una orden interna de bash) cd proyectos
mkdir crea directorios mkdir proyectos
touch cambia la fecha de un archivo, y si no existe crea uno vacío touch lista.txt
cat concatena archivos y los muestra por la salida estándar cat notas.txt
cp copia archivos y directorios cp notas.txt proyectos/
mv cambia el nombre de un fichero o lo mueve a otra carpeta mv borrador.txt carta.txt
rm borra archivos o directorios rm -r temporal
echo muestra una línea de texto echo "hola" > saludo.txt
clear limpia la pantalla de la terminal clear
history muestra la lista de órdenes escritas, numeradas (orden interna de bash) history

La página de mv enlaza a la versión inglesa porque la traducción al castellano de su descripción dice «Copia» donde el original dice «Rename» y «move». Justo eso es lo que confunde, porque mv no deja el original en su sitio. cd, history y help son órdenes internas de bash, y donde se explican a fondo es en el manual de bash.

Rutas, puntos y la virgulilla

Una ruta que empieza por / es absoluta y se cuenta desde la raíz del sistema. Si no, es relativa a la carpeta en la que estás. Dos puntos seguidos (..) son la carpeta de arriba, un punto suelto (.) es la actual, y ~ es tu carpeta personal. Bash lo cambia por el valor de HOME antes de ejecutar la orden. Por eso cd a secas, cd ~ y cd /home/ana te llevan al mismo sitio en la práctica.

Ficheros ocultos

En Linux un fichero es oculto solo porque su nombre empieza por un punto, sin más misterio. La documentación de Ubuntu lo explica así y añade que se usan sobre todo para guardar ajustes. Un ls normal no los enseña. Con ls -a salen todos, y el manual de ls lo dice tal cual: «no oculta las entradas que comienzan con .». El .bashrc de la práctica es uno de ellos, el fichero donde se guardan cosas como los alias, que tienes explicados en la guía de trucos y comandos de la terminal de Linux.

Un > o dos >>

echo "texto" > fichero.txt manda el texto a un fichero en vez de a la pantalla. Ojo, porque si el fichero ya existe, la shell borra todo su contenido antes de escribir, según el tutorial oficial de Ubuntu. Para añadir una línea al final sin perder lo que había, se ponen dos: >>. Pruébalo en la práctica con ideas.txt y mira la diferencia con cat.

Por qué rm no tiene papelera

Cuando arrastras un fichero a la papelera del escritorio, el fichero sigue ahí, en otra carpeta, hasta que la vacías. rm no hace eso. La documentación de Ubuntu lo escribe sin rodeos: a diferencia de las interfaces gráficas, rm no mueve los ficheros a una carpeta llamada papelera ni nada parecido, los borra «totally, utterly and irrevocably». El manual de la herramienta gio dice lo mismo desde el otro lado. Su orden remove, «similar to the traditional rm», borra de forma irreversible, y para borrar con vuelta atrás remite a su orden trash.

El propio manual de rm dice que «borra (desenlaza)» los ficheros, y desenlazar es lo que hace la llamada al sistema unlink: según su página de manual, borra un nombre del sistema de ficheros y, si era el último y nadie tiene el fichero abierto, deja el espacio libre para reutilizarlo. No hay un paso intermedio donde rescatarlo. El manual de rm sí reconoce que con suficiente experiencia y tiempo «podría ser posible recuperar algo de su contenido», pero eso es trabajo de recuperación forense, no un botón de deshacer.

Ahí la práctica enseña más que cualquier explicación. La misión diez te pide borrar la carpeta temporal de Descargas sin tocar factura.pdf. Si borras Descargas entera, la factura se va con ella y la única salida es el botón de reiniciar. En tu ordenador no hay botón de reiniciar. Tres costumbres que yo no me saltaría:

  • Antes de un rm -r, haz un ls de lo mismo que vas a borrar y lee la lista.
  • Usa rm -i mientras no te sientas seguro, porque según su manual pregunta antes de cada borrado.
  • Si quieres papelera desde la terminal, gio trash fichero manda el fichero a la papelera en vez de borrarlo, y desde el gestor de archivos la puedes revisar y vaciar.

Y para lo que no tiene arreglo, una copia de seguridad. La guía de copias de seguridad en Ubuntu y Linux cuenta cómo montarla.

Cómo leer los errores

La terminal casi nunca dice nada cuando todo va bien. Si escribes mkdir proyectos y vuelve a salir el indicador sin más, la carpeta está creada. La documentación de Ubuntu lo explica con la historia: en los años setenta, con conexiones lentas, ahorrarse un mensaje de «todo correcto» era ahorrar bytes. Los mensajes llegan cuando algo falla, y suelen seguir el mismo orden: el programa que se queja, el fichero y el motivo.

El que más vas a ver es «No existe el archivo o el directorio», y casi siempre es una errata en el nombre o que no estás en la carpeta que crees (un pwd lo aclara). «Es un directorio» sale cuando le pides a cat, o a rm sin -r, que trate una carpeta como si fuera un fichero. «El archivo ya existe» es lo que contesta mkdir si la carpeta ya estaba. Y «Permiso denegado» aparece cuando intentas escribir fuera de tu carpeta, por ejemplo en /etc. En la práctica puedes provocarlos todos a propósito, que para eso está.

Hay un mensaje de cp que la práctica cuenta con palabras propias. Al copiar una carpeta sin -r, Ubuntu 24.04 lo muestra en inglés aunque el sistema esté en castellano («-r not specified; omitting directory»), porque esa frase no tiene traducción en el paquete de idioma. Aquí sale como «no se ha indicado -r; se omite el directorio», que dice lo mismo.

El paso a una terminal real

Cuando la práctica te salga sin pistas, abre la de tu equipo. En Ubuntu está en el menú de aplicaciones buscando «terminal», y la documentación de Ubuntu recuerda que la mayoría de los sistemas Linux la abren con el atajo Ctrl+Alt+T. El indicador que verás se parece al de la práctica: usuario, arroba, nombre del equipo, dos puntos, la carpeta y el símbolo $.

Para las primeras pruebas, crea una carpeta de juegos y trabaja dentro, como hace el tutorial oficial de Ubuntu con /tmp/tutorial:

mkdir -p /tmp/pruebas
cd /tmp/pruebas
pwd

Así, si un rm se te va de las manos, lo que se pierde son ficheros de prueba. Cuando dudes de una opción, man ls abre su página del manual (sales con la tecla q) y help cd explica las órdenes internas de bash. A partir de ahí, la guía de trucos de la terminal sigue con los alias, sudo y las órdenes que no conviene ejecutar nunca.

Una última cosa que en mi opinión ahorra muchos sustos. La terminal real tiene más órdenes de las que entiende esta práctica, y sudo ejecuta lo que le sigue como superusuario, que según la documentación de Ubuntu puede modificar o borrar cualquier fichero del sistema saltándose las protecciones que aquí te paran con un «Permiso denegado». Si una orden copiada de internet lleva sudo y rm en la misma línea, léela dos veces antes de pulsar Intro.

# sigue leyendo

Comentarios

Deja un comentario

Tu correo no se publica.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.