Ghost AcademySecLearn// Seguridad Informática
// guía interactiva

Linux Command
Cheatsheet

Referencia completa de los comandos más usados en Linux. Haz clic en cualquier tarjeta para ver las opciones detalladas y ejemplos reales.

80+comandos
8categorías
200+ejemplos
Tab autocompletar
Ctrl+C cancelar proceso
Ctrl+Z suspender proceso
↑ ↓ historial
Ctrl+R buscar historial
!! repetir último cmd
man cmd manual completo
$_

No se encontraron comandos para ""

📁

Archivos y Directorios

Navegar, crear, copiar, mover y eliminar

15 cmds
ls
Lista el contenido de un directorio
+
Opciones principales
-lFormato largo con permisos, tamaño, fecha
-aMuestra archivos ocultos (empiezan con .)
-hTamaños legibles (KB, MB, GB)
-RRecursivo: lista subdirectorios
-tOrdena por fecha de modificación
-SOrdena por tamaño (mayor primero)
Ejemplos
Listar con detalles y archivos ocultos:
$ ls -lah /home/usuario
Solo archivos .txt, ordenados por fecha:
$ ls -lt *.txt
cd
Cambia el directorio de trabajo actual
+
Atajos especiales
~Directorio home del usuario actual
..Directorio padre (sube un nivel)
-Vuelve al directorio anterior
/Directorio raíz del sistema
Ejemplos
Ir al home, subir dos niveles, volver al anterior:
$ cd ~
$ cd ../../etc
$ cd -
mkdir
Crea directorios nuevos
+
Opciones
-pCrea directorios intermedios si no existen
-mEstablece permisos al crear (ej: -m 755)
-vMuestra cada directorio creado
Ejemplos
Crear árbol de directorios de una vez:
$ mkdir -p proyecto/{src,docs,tests,bin}
Crear con permisos específicos:
$ mkdir -m 700 datos_privados
cp
Copia archivos y directorios
+
Opciones
-rRecursivo: copia directorios completos
-pPreserva permisos, fechas y propietario
-iPregunta antes de sobreescribir
-uCopia solo si el origen es más nuevo
-vMuestra cada archivo copiado
Ejemplos
Copiar directorio preservando atributos:
$ cp -rp /var/www/html /backup/html_bak
mv
Mueve o renombra archivos y directorios
+
Opciones
-iPregunta antes de sobreescribir
-nNo sobreescribe archivos existentes
-uMueve solo si el origen es más nuevo
-vMuestra cada archivo movido
Ejemplos
Renombrar archivo:
$ mv informe_v1.txt informe_final.txt
Mover todos los .log a otro dir:
$ mv *.log /var/log/archive/
rm
Elimina archivos o directorios permanentemente
+
Opciones
-rRecursivo: elimina directorios y su contenido
-fForzado: no pide confirmación ni errores
-iPregunta antes de eliminar cada archivo
-vMuestra cada archivo eliminado
Ejemplos
Eliminar directorio completo (¡cuidado!):
$ rm -rf carpeta_temporal/
⚠ No hay papelera de reciclaje
find
Busca archivos con criterios avanzados
+
Criterios de búsqueda
-namePor nombre (admite wildcards: *.log)
-typef=archivo, d=directorio, l=enlace
-sizePor tamaño: +10M (mayor), -1k (menor)
-mtimeModificado hace N días (-7 = última semana)
-execEjecuta comando en cada resultado
-permPor permisos (ej: -perm 777)
Ejemplos
Buscar logs de la última semana y comprimirlos:
$ find /var/log -name "*.log" -mtime -7 -exec gzip {} \;
Archivos mayores de 100MB:
$ find /home -type f -size +100M
ln
Crea enlaces entre archivos
+
Tipos de enlace
-sEnlace simbólico (como acceso directo)
(sin -s)Enlace duro: comparte inodo con el original
-fFuerza creación aunque ya exista el destino
Ejemplos
Crear acceso directo a un ejecutable:
$ ln -s /opt/app/bin/app /usr/local/bin/app
du
Muestra el espacio ocupado en disco
+
Opciones
-sResumen total por directorio
-hFormato legible (KB, MB, GB)
-d NProfundidad máxima de directorios
--max-depthEquivalente a -d
Ejemplos
Ver los directorios más grandes en /home:
$ du -sh /home/* | sort -rh | head -10
rsync
Sincroniza archivos local o remotamente
+
Opciones
-aModo archivo: preserva todo (permisos, fechas…)
-vVerbose: muestra archivos transferidos
-zComprime durante la transferencia
--deleteElimina en destino lo que no está en origen
-nDry run: simula sin copiar nada
--excludeExcluye patrones (ej: --exclude="*.tmp")
Ejemplos
Backup a servidor remoto:
$ rsync -avz --delete /home/user/ user@192.168.1.10:/backup/
🌐

Red y Conectividad

Diagnóstico, transferencia y configuración de red

10 cmds
ping
Verifica conectividad con un host
+
Opciones
-c NEnvía N paquetes y termina
-i NIntervalo en segundos entre paquetes
-t NTTL (tiempo de vida del paquete)
-W NTimeout en segundos por respuesta
Ejemplos
Enviar 4 pings a Google DNS:
$ ping -c 4 8.8.8.8
ssh
Conexión segura a servidores remotos
+
Opciones
-p NPuerto específico (defecto: 22)
-iEspecifica archivo de clave privada
-LTúnel local: -L puerto:host:puertoRemoto
-XReenvío de X11 (apps gráficas remotas)
-vVerbose: muestra detalles de conexión
Ejemplos
Conectar con clave y puerto personalizado:
$ ssh -i ~/.ssh/id_rsa -p 2222 user@servidor.com
Túnel SSH para acceder a base de datos remota:
$ ssh -L 3306:localhost:3306 user@servidor.com
curl
Transfiere datos con URLs (HTTP, FTP, etc.)
+
Opciones
-oGuarda la salida en un archivo
-OGuarda con el nombre original del archivo
-IMuestra solo las cabeceras HTTP
-XMétodo HTTP: GET, POST, PUT, DELETE
-dDatos a enviar en el cuerpo (POST)
-HCabecera personalizada (ej: -H "Auth: token")
-LSigue redirecciones automáticamente
Ejemplos
Hacer POST con JSON a una API:
$ curl -X POST -H "Content-Type: application/json" \
     -d '{"user":"admin"}' https://api.ejemplo.com/login
ss
Lista sockets y conexiones de red activas
+
Opciones
-tSolo conexiones TCP
-uSolo conexiones UDP
-lSolo puertos en escucha (listening)
-nMuestra números en vez de nombres
-pMuestra el proceso que usa el socket
Ejemplos
Ver puertos TCP en escucha con su proceso:
$ ss -tlnp
nmap
Escanea puertos y detecta servicios en red
+
Opciones
-sVDetecta versión de servicios
-sSEscaneo SYN (sigiloso)
-pPuertos a escanear (ej: -p 22,80,443)
-ODetecta sistema operativo
-AEscaneo completo: versión + OS + scripts
Ejemplos
Escanear toda la red local:
$ nmap -sV 192.168.1.0/24
dig
Consultas DNS detalladas
+
Opciones
+shortSalida reducida solo con el resultado
-t MXTipo de registro: A, MX, NS, TXT, CNAME
@serverUsar servidor DNS específico (ej: @8.8.8.8)
Ejemplos
Consultar registros MX de un dominio:
$ dig +short -t MX gmail.com
⚙️

Procesos y Memoria

Monitorear, controlar y gestionar procesos

10 cmds
ps
Lista procesos en ejecución
+
Opciones
auxTodos los procesos de todos los usuarios
-efFormato completo con jerarquía
--sortOrdenar: --sort=-%cpu o --sort=-%mem
-u userSolo procesos de un usuario específico
Ejemplos
Top 10 procesos por uso de CPU:
$ ps aux --sort=-%cpu | head -11
top / htop
Monitor interactivo de procesos en tiempo real
+
Atajos dentro de top/htop
kMatar proceso por PID
rCambiar prioridad (renice)
MOrdenar por uso de memoria
POrdenar por uso de CPU
qSalir del monitor
Ejemplos
Monitorear solo procesos de un usuario:
$ top -u www-data
kill / killall
Envía señales a procesos para terminarlos
+
Señales principales
-1 (HUP)Reiniciar el proceso (reload config)
-2 (INT)Interrupción (equivale a Ctrl+C)
-9 (KILL)Terminación forzada e inmediata
-15 (TERM)Terminación ordenada (defecto)
Ejemplos
Matar proceso por PID y por nombre:
$ kill -9 1234
$ killall nginx
systemctl
Gestiona servicios del sistema (systemd)
+
Acciones principales
startInicia un servicio
stopDetiene un servicio
restartReinicia un servicio
reloadRecarga la configuración sin reiniciar
enableActiva arranque automático al inicio
disableDesactiva arranque automático
statusMuestra estado y logs recientes
Ejemplos
Activar nginx y que arranque solo:
$ sudo systemctl enable --now nginx
free
Muestra el uso de RAM y swap
+
Opciones
-hFormato legible (MB, GB)
-s NActualiza cada N segundos
-tMuestra fila total (RAM + swap)
Ejemplos
Ver RAM cada 2 segundos:
$ free -h -s 2
🔐

Seguridad y Permisos

Usuarios, grupos y control de acceso

8 cmds
chmod
Cambia los permisos de archivos
+
Notación octal
7 = rwxLectura + escritura + ejecución
6 = rw-Lectura + escritura
5 = r-xLectura + ejecución
4 = r--Solo lectura
0 = ---Sin permisos
Notación simbólica
u/g/o/ausuario / grupo / otros / todos
+/-/=añadir / quitar / establecer
-RRecursivo para directorios
Ejemplos
Script ejecutable solo por el dueño:
$ chmod 750 script.sh
$ chmod u+x,go-w archivo.sh
chown
Cambia el propietario de archivos
+
Sintaxis
userCambia solo el usuario propietario
user:groupCambia usuario y grupo
:groupCambia solo el grupo
-RRecursivo para directorios
Ejemplos
Asignar web a www-data recursivamente:
$ sudo chown -R www-data:www-data /var/www/html
sudo
Ejecuta comandos como superusuario
+
Opciones
-u userEjecuta como otro usuario (no root)
-iAbre shell interactivo como root
-lLista permisos sudo del usuario actual
!!Repite último cmd con sudo: sudo !!
Ejemplos
Repetir último comando olvidado con sudo:
$ sudo !!
useradd / usermod
Crea y modifica cuentas de usuario
+
Opciones useradd
-mCrea directorio home
-sShell por defecto (ej: /bin/bash)
-GGrupos adicionales separados por coma
Opciones usermod
-aGAñade usuario a grupo SIN quitarlo de otros
-L / -UBloquear / desbloquear cuenta
Ejemplos
Crear usuario y añadir a sudo:
$ sudo useradd -m -s /bin/bash juan
$ sudo usermod -aG sudo juan
📝

Texto y Búsqueda

Filtrar, transformar y procesar texto

10 cmds
grep
Busca patrones con expresiones regulares
+
Opciones
-rRecursivo: busca en subdirectorios
-iIgnora mayúsculas/minúsculas
-nMuestra número de línea
-vInvierte: muestra líneas que NO coinciden
-cCuenta las líneas coincidentes
-lSolo muestra nombres de archivos con coincidencia
-EExpresiones regulares extendidas (ERE)
Ejemplos
Buscar errores en logs ignorando mayúsculas:
$ grep -rni "error" /var/log/ --include="*.log"
sed
Editor de flujo para transformar texto
+
Expresiones comunes
s/a/b/gSustituye 'a' por 'b' (g = todas las ocurrencias)
/patrón/dElimina líneas que contienen el patrón
-iEdita el archivo en su lugar (in-place)
-n 'Np'Imprime solo la línea N
Ejemplos
Reemplazar texto en un archivo directamente:
$ sed -i 's/localhost/192.168.1.10/g' config.conf
awk
Procesa texto estructurado por columnas
+
Variables especiales
$1,$2…$NCampos (columnas) del registro actual
$0Línea completa
NRNúmero de línea actual
NFNúmero total de campos
-FDefine el separador de campo (ej: -F:)
Ejemplos
Listar usuarios y sus shells del sistema:
$ awk -F: '{print $1, $7}' /etc/passwd
tail / head
Muestra el inicio o final de archivos
+
Opciones
-n NMuestra las primeras/últimas N líneas
-f(tail) Sigue el archivo en tiempo real
-F(tail) Como -f pero reabre si se rota
-c NMuestra los últimos/primeros N bytes
Ejemplos
Seguir logs de nginx en tiempo real:
$ tail -F /var/log/nginx/access.log | grep ERROR
🖥️

Sistema

Información del sistema, logs y administración

8 cmds
df
Muestra espacio disponible en discos
+
Opciones
-hFormato legible (GB, MB)
-TMuestra el tipo de sistema de archivos
-iMuestra inodos en vez de bloques
Ejemplos
Ver todos los discos con su tipo:
$ df -hT | grep -v tmpfs
journalctl
Consulta logs del sistema (systemd)
+
Opciones
-uFiltrar por servicio: -u nginx
-fSeguir logs en tiempo real
--sinceDesde: --since "2024-01-01 10:00"
-pPrioridad: err, warning, info, debug
-n NÚltimas N entradas
--disk-usageEspacio ocupado por logs
Ejemplos
Ver errores de ssh desde hoy:
$ journalctl -u ssh -p err --since today
crontab
Programa tareas automáticas
+
Opciones
-eEdita el crontab del usuario actual
-lLista las tareas programadas
-rElimina todas las tareas del usuario
Formato de tiempo
# min hora día mes diasem comando
* * * * * comando
Ejemplos
Backup diario a las 2am:
0 2 * * * /home/user/scripts/backup.sh >> /var/log/backup.log 2>&1
uname
Información del sistema y kernel
+
Opciones
-aTodo: kernel, hostname, arquitectura, etc.
-rSolo versión del kernel
-mArquitectura del hardware (x86_64, arm…)
Ejemplos
Info completa del sistema:
$ uname -a
Linux ubuntu 6.8.0-45-generic #45-Ubuntu SMP x86_64 GNU/Linux
📦

Gestión de Paquetes

apt, dpkg y snap para Ubuntu/Debian

8 cmds
apt
Gestor de paquetes de Debian/Ubuntu
+
Subcomandos
updateActualiza la lista de paquetes disponibles
upgradeActualiza todos los paquetes instalados
installInstala uno o más paquetes
removeElimina un paquete (mantiene configs)
purgeElimina paquete Y sus archivos de config
autoremoveElimina dependencias huérfanas
searchBusca paquetes por nombre o descripción
showMuestra información detallada de un paquete
Ejemplos
Actualizar sistema completo:
$ sudo apt update && sudo apt upgrade -y
dpkg
Gestiona paquetes .deb directamente
+
Opciones
-iInstala un paquete .deb local
-rElimina un paquete instalado
-lLista todos los paquetes instalados
-LLista archivos de un paquete instalado
-SEncuentra qué paquete provee un archivo
Ejemplos
Instalar .deb descargado y ver sus archivos:
$ sudo dpkg -i vscode.deb
$ dpkg -L code
🗜️

Compresión de Archivos

tar, gzip, zip y formatos comunes

6 cmds
tar
Empaqueta y comprime directorios
+
Flags esenciales
-cCrear nuevo archivo
-xExtraer archivo
-tListar contenido sin extraer
-zComprimir/descomprimir con gzip (.gz)
-jComprimir/descomprimir con bzip2 (.bz2)
-JComprimir/descomprimir con xz (.xz)
-vVerbose: muestra archivos procesados
-fNombre del archivo (siempre al final)
Ejemplos
Crear backup con fecha y extraer:
$ tar -czvf backup_$(date +%F).tar.gz /home/user/
$ tar -xzvf backup.tar.gz -C /tmp/restore/
zip / unzip
Comprime en formato ZIP multiplataforma
+
Opciones zip
-rRecursivo: incluye subdirectorios
-9Máxima compresión (más lento)
-eCifra el zip con contraseña
Opciones unzip
-d dirExtrae en un directorio específico
-lLista contenido sin extraer
Ejemplos
Comprimir y extraer con contraseña:
$ zip -re documentos.zip /home/user/docs/
$ unzip documentos.zip -d /tmp/docs/
🔑

Referencia: Permisos chmod

Tabla completa de valores

Valores octales
4 = r-- = solo lectura
5 = r-x = leer + ejecutar
6 = rw- = leer + escribir
7 = rwx = todo
0 = --- = sin permisos
Permisos comunes
777 = rwxrwxrwx todos
755 = rwxr-xr-x binarios
644 = rw-r--r-- archivos
600 = rw------- privados
400 = r-------- claves SSH
Posiciones UGO
User → primer dígito
Group → segundo dígito
Others → tercer dígito
ejemplo: chmod 754 arch
u=rwx g=r-x o=r--
⇄

Pipes y Redirección

Encadenar comandos y redirigir salidas

Redirección
>Redirige stdout a archivo (sobreescribe)
>>Redirige stdout a archivo (agrega al final)
2>Redirige stderr (errores) a archivo
2>&1Redirige stderr al mismo destino que stdout
<Lee desde archivo como entrada estándar
/dev/nullDescarta salida (silencio total)
Pipes y operadores
|Pasa stdout de un cmd al stdin del siguiente
&&Ejecuta el siguiente cmd solo si el anterior tuvo éxito
||Ejecuta el siguiente cmd solo si el anterior falló
;Ejecuta comandos en secuencia sin importar resultado
&Ejecuta el comando en segundo plano
Ejemplos combinados
# Buscar errores, contar y guardar silenciando errores de acceso
$ grep -r "ERROR" /var/log/ 2>/dev/null | wc -l >> errores.txt
# Actualizar y solo si funciona, instalar paquete
$ sudo apt update && sudo apt install -y htop