La terminal de Linux es una ventana de texto donde escribes comandos para controlar tu computadora. Unos 30 comandos, como ls, cd, cp, mv, grep y sudo, cubren la mayoría de las tareas diarias.
Los escritorios gráficos son fáciles de usar, pero la terminal es donde Linux realmente brilla. Es más rápida para muchas tareas, funciona igual en una laptop que en un servidor sin pantalla y es la única forma de administrar la mayoría de los servidores web, VPS y Raspberry Pi. Si ya instalaste Ubuntu o estás empezando a trabajar con servidores, aprender la terminal es el siguiente paso.
Esta guía cubre los comandos esenciales, agrupados según lo que quieres hacer, con ejemplos cortos que puedes probar tú mismo. Los ejemplos usan Ubuntu, pero casi todo funciona en cualquier distribución de Linux, y la mayor parte también funciona en la Terminal de macOS.
Cómo Abrir la Terminal
- Ubuntu y la mayoría de los escritorios: presiona Ctrl + Alt + T, o busca “Terminal” en el menú de aplicaciones.
- Un servidor remoto: conéctate con SSH (
ssh usuario@ip-del-servidor). Consulta ¿Qué Es SSH? - Windows: instala WSL (Subsistema de Windows para Linux) para tener una terminal de Linux real.
Al abrirla, verás un prompt como este:
user@ubuntu:~$
Muestra tu nombre de usuario (user), el nombre de la computadora (ubuntu) y tu carpeta actual (~ significa tu carpeta personal). El $ indica que eres un usuario normal. Escribes los comandos después y presionas Enter.
Cómo Se Forma un Comando
La mayoría de los comandos siguen el mismo patrón:
comando -opciones argumentos
ls -l /home
- El comando es el programa que se ejecuta (
lslista archivos). - Las opciones (también llamadas flags) cambian su comportamiento. Normalmente empiezan con
-o--. Puedes combinar las cortas:ls -l -aes lo mismo quels -la. - Los argumentos son aquello sobre lo que trabaja el comando, como el nombre de un archivo o carpeta.
Linux distingue mayúsculas y minúsculas: Notas.txt y notas.txt son archivos distintos, y LS no es un comando.
Navegar por Carpetas
| Comando | Qué hace |
|---|---|
pwd | Muestra la carpeta en la que estás (“print working directory”) |
ls | Lista archivos y carpetas |
ls -l | Lista con detalles: permisos, dueño, tamaño y fecha |
ls -a | Incluye archivos ocultos (los que empiezan con .) |
ls -lh | Lista detallada con tamaños legibles (K, M, G) |
cd carpeta | Entra a una carpeta |
cd .. | Sube un nivel |
cd ~ o cd | Va a tu carpeta personal |
cd - | Regresa a la carpeta anterior |
cd / | Va a la raíz del sistema de archivos |
Las rutas pueden ser absolutas (empiezan desde la raíz, como /home/user/Documentos) o relativas (empiezan desde donde estás, como Documentos/proyectos).
Trabajar con Archivos y Carpetas
| Comando | Qué hace |
|---|---|
mkdir proyectos | Crea una carpeta |
mkdir -p a/b/c | Crea carpetas anidadas en un solo paso |
touch notas.txt | Crea un archivo vacío (o actualiza su fecha) |
cp archivo.txt copia.txt | Copia un archivo |
cp -r carpeta respaldo | Copia una carpeta con todo su contenido |
mv viejo.txt nuevo.txt | Cambia el nombre de un archivo |
mv archivo.txt Documentos/ | Mueve un archivo a otra carpeta |
rm archivo.txt | Borra un archivo |
rm -r carpeta | Borra una carpeta con todo su contenido |
rmdir carpeta | Borra una carpeta vacía |
Ten cuidado con rm. La terminal no tiene Papelera de reciclaje, así que los archivos borrados se pierden. Usa rm -i para que te pregunte antes de cada borrado, revisa bien las rutas antes de presionar Enter y nunca ejecutes rm -rf sobre una ruta que no hayas leído dos veces.
Ver y Editar Archivos
| Comando | Qué hace |
|---|---|
cat archivo.txt | Muestra el archivo completo |
less archivo.txt | Recorre un archivo largo (presiona q para salir) |
head archivo.txt | Muestra las primeras 10 líneas (head -n 20 para 20) |
tail archivo.txt | Muestra las últimas 10 líneas |
tail -f app.log | Sigue un log mientras se agregan líneas nuevas (Ctrl + C para detener) |
nano archivo.txt | Edita un archivo en un editor de texto sencillo |
wc -l archivo.txt | Cuenta las líneas de un archivo |
En nano, los atajos aparecen en la parte de abajo de la pantalla: Ctrl + O guarda y Ctrl + X sale. El símbolo ^ en el menú de nano significa la tecla Ctrl.
Buscar
| Comando | Qué hace |
|---|---|
grep "error" app.log | Muestra las líneas que contienen “error” |
grep -i "error" app.log | Lo mismo, sin distinguir mayúsculas y minúsculas |
grep -n "error" app.log | Incluye los números de línea |
grep -r "TODO" proyecto/ | Busca en todos los archivos de una carpeta |
find . -name "*.txt" | Busca archivos por nombre, desde la carpeta actual |
which python3 | Muestra dónde está instalado un programa |
Tuberías y Redirección
Aquí es donde la terminal se vuelve poderosa. Puedes conectar comandos pequeños entre sí:
| Símbolo | Qué hace | Ejemplo |
|---|---|---|
| | Envía la salida de un comando a otro | ls | wc -l cuenta archivos |
> | Guarda la salida en un archivo, reemplazándolo | ls > archivos.txt |
>> | Agrega la salida al final de un archivo | echo "listo" >> log.txt |
Por ejemplo, history | grep ssh muestra todos los comandos ssh que ejecutaste recientemente, y ps aux | grep nginx revisa si el servidor web nginx está funcionando.
Usuarios, Permisos y sudo
Cada archivo tiene un dueño, un grupo y permisos que controlan quién puede leerlo (r), escribirlo (w) y ejecutarlo (x). ls -l los muestra:
-rwxr-xr-x 1 user user 120 Nov 14 09:00 script.sh
El primer carácter es el tipo (- para un archivo, d para una carpeta). Los nueve siguientes son tres grupos de rwx: para el dueño, para el grupo y para todos los demás. Aquí, el dueño puede leer, escribir y ejecutar el archivo, y los demás pueden leerlo y ejecutarlo.
| Comando | Qué hace |
|---|---|
whoami | Muestra tu nombre de usuario |
sudo comando | Ejecuta un comando como administrador (root) |
chmod +x script.sh | Hace que un archivo sea ejecutable |
chmod 644 archivo.txt | El dueño puede leer y escribir; los demás solo pueden leer |
chown usuario:grupo archivo | Cambia el dueño de un archivo (normalmente necesita sudo) |
sudo te pide tu contraseña y ejecuta un comando con todos los permisos de administrador. Úsalo solo cuando un comando lo necesite, como al instalar software o editar archivos del sistema. Un comando ejecutado con sudo puede cambiar o borrar cualquier cosa del sistema.
Instalar y Actualizar Software
Ubuntu y Debian usan el gestor de paquetes APT:
| Comando | Qué hace |
|---|---|
sudo apt update | Actualiza la lista de paquetes disponibles |
sudo apt upgrade | Instala las actualizaciones disponibles |
sudo apt install htop | Instala un programa |
sudo apt remove htop | Desinstala un programa |
apt search palabra | Busca un paquete |
Ejecuta sudo apt update antes de instalar o actualizar para que APT conozca las versiones más recientes. Otras distribuciones usan gestores de paquetes distintos, como dnf en Fedora y pacman en Arch, pero la idea es la misma. Consulta ¿Qué Es Linux? para ver en qué se diferencian las distribuciones.
Revisar el Sistema
| Comando | Qué hace |
|---|---|
uname -a | Muestra la versión del kernel y detalles del sistema |
df -h | Muestra el espacio libre en disco |
du -sh carpeta | Muestra cuánto espacio usa una carpeta |
free -h | Muestra el uso de memoria (RAM) |
top o htop | Vista en vivo de los programas en ejecución (presiona q para salir) |
ps aux | Lista todos los procesos en ejecución |
kill 1234 | Detiene el proceso con el ID 1234 |
uptime | Muestra cuánto tiempo lleva encendido el sistema |
Redes Básicas
| Comando | Qué hace |
|---|---|
ip a | Muestra tus interfaces de red y direcciones IP |
ping -c 4 example.com | Comprueba si un equipo responde (4 intentos) |
curl -I https://example.com | Muestra los encabezados de respuesta de un sitio web |
wget URL | Descarga un archivo |
ssh usuario@equipo | Inicia sesión en otra computadora de forma segura |
Si las direcciones IP y los puertos son nuevos para ti, El Protocolo de Internet Explicado cubre lo básico.
Cómo Obtener Ayuda
No necesitas memorizar todas las opciones:
man lsabre el manual completo de un comando (presionaqpara salir y/para buscar).ls --helpmuestra un resumen más corto de las opciones.historylista los comandos que has ejecutado, y la flecha hacia arriba recupera el anterior.
Atajos de Teclado que Ahorran Tiempo
| Atajo | Qué hace |
|---|---|
| Tab | Autocompleta el nombre de un comando, archivo o carpeta |
| Tab Tab | Muestra todas las opciones posibles |
| Flecha arriba / abajo | Recorre los comandos anteriores |
| Ctrl + C | Detiene el comando en ejecución |
| Ctrl + L | Limpia la pantalla (igual que clear) |
| Ctrl + R | Busca en tu historial de comandos |
| Ctrl + A / Ctrl + E | Salta al inicio o al final de la línea |
| Ctrl + Shift + C / V | Copia y pega en la mayoría de las terminales |
El autocompletado con Tab es el hábito más útil que puedes formar. Ahorra escritura y evita errores en nombres de archivo largos.
Práctica: Tu Primera Sesión en la Terminal
Prueba este ejercicio corto. Crea una carpeta de práctica, trabaja con un archivo y limpia todo al final. Los nombres de los archivos están en inglés para que coincidan con la salida de ejemplo:
mkdir -p practice/notes
cd practice
echo "Linux is fun" > notes/todo.txt
echo "Learn the terminal" >> notes/todo.txt
echo "Practice every day" >> notes/todo.txt
cat notes/todo.txt
Linux is fun
Learn the terminal
Practice every day
Ahora busca, cuenta, copia y cambia el nombre:
grep -n "terminal" notes/todo.txt
wc -l notes/todo.txt
cp notes/todo.txt notes/todo-backup.txt
mv notes/todo-backup.txt notes/old-todo.txt
ls notes
2:Learn the terminal
3 notes/todo.txt
old-todo.txt todo.txt
Por último, busca todos los archivos de texto y borra la carpeta de práctica:
find . -name "*.txt"
cd ..
rm -r practice
./notes/todo.txt
./notes/old-todo.txt
El orden de los resultados de find puede variar. Si cada paso funcionó, acabas de usar una docena de los comandos de esta guía.
Errores Comunes de Principiante
- Olvidar que se distinguen mayúsculas y minúsculas.
cd documentosfalla si la carpeta se llamaDocumentos. - Espacios en los nombres de archivo. Ponlos entre comillas (
cd "Mis Archivos") o usa el autocompletado con Tab, que agrega los caracteres de escape por ti. - “Permission denied” (permiso denegado). El comando necesita permisos de administrador (agrega
sudo) o el archivo no es ejecutable (chmod +x). - “Command not found” (comando no encontrado). El programa no está instalado o hay un error de escritura. En Ubuntu, el mensaje suele sugerir el comando
apt installpara resolverlo. - Pegar comandos que no entiendes. Lee cada comando antes de ejecutarlo, sobre todo los que llevan
sudo,rmocurl ... | bash.
Conclusión
La terminal de Linux intimida al principio, pero un grupo pequeño de comandos cubre casi todo lo que harás: pwd, ls y cd para moverte; mkdir, cp, mv y rm para manejar archivos; cat, less, nano y grep para leer y buscar; y sudo apt para instalar software.
Abre una terminal y úsala para algo pequeño cada día, como actualizar tu sistema o buscar un archivo. Cuando estos comandos te resulten familiares, estarás listo para el siguiente paso: administrar un VPS, usar contenedores de Docker o montar tu propio servidor.
Preguntas Frecuentes
¿Cuál es la diferencia entre la terminal, el shell y la línea de comandos?
La terminal es la ventana donde escribes. El shell es el programa que lee y ejecuta tus comandos; en la mayoría de los sistemas Linux es Bash. La línea de comandos es el término general para trabajar de esta forma. En el uso diario, la gente usa las tres palabras como sinónimos.
¿Necesito la terminal para usar Linux?
No para el uso diario de escritorio. Ubuntu y Linux Mint se pueden usar por completo con el mouse. Necesitarás la terminal para servidores, para resolver problemas y para muchas herramientas de desarrollo.
¿Es seguro practicar comandos en la terminal?
Sí, siempre que evites usar sudo y rm con archivos que no reconoces. Practica en tu carpeta personal o en una máquina virtual, donde los errores no pueden afectar nada importante.
¿Estos comandos funcionan en macOS?
La mayoría sí. macOS incluye una terminal Unix con ls, cd, grep, find, chmod y muchos otros. Algunas opciones cambian un poco, y macOS no usa apt; ahí el gestor de paquetes más común es Homebrew.
¿Cómo detengo un comando que no termina?
Presiona Ctrl + C. Si un programa como less, man o top ocupa la pantalla, presiona q para salir.
¿Cuánto tiempo toma aprender la terminal de Linux?
Puedes aprender los comandos de esta guía en unos días de práctica constante. La soltura llega al usarlos en tareas reales durante algunas semanas.
