Chuleta de comandos Linux

Los comandos de Linux y bash que usan los desarrolladores en servidores y portátiles: archivos, búsqueda, permisos, procesos, logs, redes y SSH. Introduce tus rutas, usuario y host una vez y copia las líneas listas para ejecutar.

Actualizado el
Tus valoresCada ejemplo de abajo se actualiza mientras escribes

Archivos y carpetas

9
ls -lah

Lista todos los archivos, incluidos los ocultos, con tamaños legibles.

cd -

Vuelve al directorio anterior.

mkdir -p /var/www/app/logs

Crea una carpeta y las carpetas padre que falten.

cp -r src /var/www/app/

Copia una carpeta de forma recursiva.

mv app.log /var/www/app/

Mueve o renombra un archivo.

ln -s /var/www/app/current /srv/app

Crea un enlace simbólico.

du -sh * | sort -h

Tamaño de cada elemento de la carpeta actual, de menor a mayor.

df -h

Espacio libre en disco por sistema de archivos.

rm -rf /var/www/app/tmp

destructivo Borra una carpeta y todo lo que contiene, sin preguntar. Revisa bien la ruta.

Leer y procesar texto

9
tail -f app.log

Sigue un archivo de log mientras se escriben nuevas líneas.

less +F app.log

Sigue un archivo; pulsa Ctrl+C para desplazarte por él y buscar.

head -n 20 app.log

Primeras 20 líneas.

wc -l app.log

Cuenta las líneas.

sort app.log | uniq -c | sort -rn | head

Las líneas más repetidas primero.

awk '{print $1}' access.log | sort | uniq -c | sort -rn | head

IP de clientes que más aparecen en el log de acceso de un servidor web.

cut -d, -f1,3 data.csv

Extrae las columnas 1 y 3 de un CSV.

diff -u old.conf new.conf

Compara dos archivos en formato diff unificado.

sed -i 's/old/new/g' app.log

destructivo Reemplaza texto en un archivo directamente (en macOS usa sed -i '').

Permisos y usuarios

8
chmod 644 app.log

El propietario puede leer y escribir, los demás solo leer; es lo habitual para archivos.

chmod 755 deploy.sh

El propietario puede hacer de todo y los demás pueden leer y ejecutar; es lo habitual para scripts y carpetas.

chmod +x deploy.sh

Hace un script ejecutable.

chown -R deploy:deploy /var/www/app

Cambia el propietario y el grupo de forma recursiva.

sudo usermod -aG docker deploy

Añade un usuario a un grupo (cierra sesión y vuelve a entrar para que se aplique).

sudo -u deploy -i

Abre una shell de inicio de sesión como otro usuario.

id deploy

Muestra el UID, el GID y los grupos de un usuario.

sudo !!

Vuelve a ejecutar el comando anterior con sudo.

Procesos

9
ps aux | grep nginx

Busca procesos en ejecución por nombre.

htop

Visor interactivo de procesos (instálalo con tu gestor de paquetes).

sudo lsof -i :8080

Qué proceso está usando un puerto.

sudo ss -tulpn

Todos los puertos TCP/UDP en escucha con sus procesos.

kill 1234

Pide a un proceso que se detenga (SIGTERM).

pkill -f "node server.js"

Detiene los procesos cuya línea de comandos coincida.

nohup ./long-task.sh > task.log 2>&1 &

Ejecuta en segundo plano y sigue funcionando después de cerrar sesión.

watch -n 2 "df -h"

Repite un comando cada 2 segundos.

kill -9 1234

destructivo Fuerza la detención inmediata de un proceso; no tiene oportunidad de limpiar nada.

Servicios y logs (systemd)

7
systemctl status nginx

Indica si el servicio está en ejecución y muestra sus últimas líneas de log.

sudo systemctl restart nginx

Reinicia un servicio.

sudo systemctl reload nginx

Recarga la configuración sin cortar conexiones (si el servicio lo admite).

sudo systemctl enable --now nginx

Inicia ahora y en cada arranque del sistema.

journalctl -u nginx -f

Sigue los logs de un servicio.

journalctl -u nginx --since "1 hour ago"

Logs de la última hora.

systemctl list-units --failed

Servicios que no han podido arrancar.

Redes

8
curl -I https://example.com

Obtiene solo las cabeceras de la respuesta.

curl -sS -X POST https://example.com/api -H "Content-Type: application/json" -d '{"ok":true}'

Envía una petición POST con JSON.

curl -o /dev/null -s -w "%{http_code} %{time_total}s\n" https://example.com

Código de estado y tiempo total de respuesta.

dig +short example.com

Resuelve un dominio a sus direcciones IP.

dig MX example.com +short

Servidores de correo de un dominio.

nc -zv example.com 8080

Comprueba si un puerto TCP está abierto.

ping -c 4 example.com

Envía cuatro pings.

ip -brief address

Interfaces de red y sus direcciones IP.

SSH y transferencia de archivos

7
ssh deploy@example.com

Conecta con un servidor.

ssh-keygen -t ed25519 -C "deploy@laptop"

Crea un par de claves SSH moderno.

ssh-copy-id deploy@example.com

Instala tu clave pública en un servidor para iniciar sesión sin contraseña.

scp app.log deploy@example.com:/var/www/app/

Copia un archivo a un servidor.

rsync -avz --progress ./dist/ deploy@example.com:/var/www/app/

Sincroniza una carpeta con un servidor, enviando solo lo que ha cambiado.

ssh -L 5432:localhost:5432 deploy@example.com

Crea un túnel desde un puerto remoto (aquí PostgreSQL) hasta tu máquina.

rsync -avz --delete ./dist/ deploy@example.com:/var/www/app/

destructivo Replica una carpeta, borrando en el remoto los archivos que ya no existen en local.

Archivos comprimidos

5
tar -czvf backup.tar.gz /var/www/app

Crea un archivo comprimido con gzip de una carpeta.

tar -xzvf backup.tar.gz -C /tmp

Extrae un archivo en una carpeta.

tar -tzf backup.tar.gz

Lista el contenido sin extraerlo.

zip -r site.zip /var/www/app

Crea un archivo ZIP.

unzip site.zip -d site

Extrae un ZIP en una carpeta.

Sistema y entorno

9
uname -a && cat /etc/os-release

Versión del kernel y distribución de Linux.

free -h

Uso de memoria y swap.

uptime

Tiempo desde el arranque y carga media.

nproc

Número de núcleos de CPU.

env | sort

Todas las variables de entorno.

export PATH="$HOME/.local/bin:$PATH"

Añade una carpeta a PATH para esta shell (ponlo en ~/.bashrc para mantenerlo).

history | grep error

Busca en el historial de la shell (o pulsa Ctrl+R).

crontab -e

Edita tus tareas programadas.

sudo apt update && sudo apt install -y htop

Instala un paquete en Debian/Ubuntu (dnf install en Fedora/RHEL, brew install en macOS).

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: Chuleta de comandos Linux

  1. Escribe tus propios valores (carpeta, archivo, usuario, host) en los campos de arriba. Todos los ejemplos de la página se actualizan al instante.
  2. Busca o salta a una sección para encontrar el comando que necesitas.
  3. Haz clic en Copiar para copiar una línea lista para ejecutar, o en Copiar sección para copiar un bloque con comentarios.
  4. Los comandos marcados como destructivos borran o sobrescriben datos. Lee la nota antes de ejecutarlos.

Las tuberías son el superpoder

La mayoría de herramientas de Linux hacen una sola cosa y leen desde la entrada estándar, así que puedes combinarlas con |. grep filtra líneas, awk y cut seleccionan columnas, sort y uniq -c cuentan, head recorta. Redirige la salida con > (sobrescribir), >> (añadir) y 2>&1 (incluir errores).

Ten cuidado con estos

  • rm -rf borra sin pasar por la papelera. Usa primero ls sobre la ruta exacta y nunca lo ejecutes con una variable sin definir, como rm -rf $DIR/.
  • sed -i, find -delete y rsync --delete modifican los archivos directamente. Ejecútalos primero sin la opción destructiva para previsualizar el resultado.
  • kill -9 omite la limpieza. Prueba antes con un kill normal.

Permisos de un vistazo

Lectura vale 4, escritura 2 y ejecución 1; súmalos por propietario, grupo y otros. Así, 640 significa que el propietario lee y escribe, el grupo solo lee y los demás no tienen acceso. Calcula cualquier valor con la calculadora de chmod, genera horarios de cron con el generador de expresiones cron y comprueba puertos abiertos en remoto con el comprobador de puertos.

También se busca como: comandos linux, chuleta linux, chuleta bash, lista de comandos linux, comandos de terminal, ejemplos grep find, comandos ssh rsync, comandos shell.

Herramientas que combinan con: Chuleta de comandos Linux

  • Chuleta de Docker — Los comandos de Docker y Docker Compose que usas cada semana, explicados en una línea.
  • Chuleta de Git — Todos los comandos de Git que usas a diario, y los que necesitas cuando algo sale mal, explicados en una línea.
  • Generador de configuraciones de Nginx — Elige qué quieres que haga Nginx —servir una página web estática o una SPA, actuar como proxy para una aplicación de Node/Python o ejecutar PHP— y marca las opciones adicionales.
  • Prompts de IA para Desarrolladores — Prompts probados para las tareas de programación del día a día: depuración, revisiones, tests, refactorización, SQL, mensajes de commit y documentación.

Preguntas frecuentes

¿Cómo encuentro qué proceso está usando un puerto?
Ejecuta sudo lsof -i :8080 o sudo ss -tulpn | grep 8080. Ambos muestran el nombre del proceso y su PID.
¿Qué significan chmod 644 y 755?
Cada dígito define los permisos del propietario, el grupo y los demás: 4 = lectura, 2 = escritura, 1 = ejecución. 644 significa que el propietario puede leer y escribir y los demás solo leer; 755 añade ejecución para todos. Usa la calculadora de chmod para calcular cualquier combinación.
¿Cómo mantengo un comando en ejecución después de cerrar SSH?
Usa nohup comando & para una tarea rápida, un multiplexor de terminal como tmux o screen para trabajo interactivo, o un servicio de systemd para algo que deba ejecutarse de forma permanente.
¿Funcionan estos comandos en macOS?
La mayoría sí. Diferencias: macOS usa las versiones BSD de las herramientas, así que sed -i necesita un argumento de cadena vacía (sed -i ''), no hay systemd ni journalctl, y los paquetes se instalan con Homebrew.
¿Puedo instalar Chuleta de comandos Linux como aplicación web y utilizarla sin conexión?
Sí. Chuleta de comandos Linux es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas