
Referencia rápida de los comandos Linux más utilizados en el día a día como desarrollador o administrador de sistemas.
Navegación y directorios
pwd # directorio actual
ls -la # listar con detalles y ocultos
ls -lh # tamaños legibles (K, M, G)
cd /ruta/absoluta # ir a ruta absoluta
cd ~ # ir al home
cd - # volver al directorio anterior
mkdir -p padre/hijo/nieto # crear árbol de directorios
rmdir directorio # eliminar directorio vacío
rm -rf directorio # eliminar directorio con contenido (cuidado)
cp -r origen/ destino/ # copiar directorio
mv origen destino # mover o renombrar
tree -L 2 # árbol de directorios (puede requerir instalación)
Archivos
cat archivo.txt # mostrar contenido
less archivo.txt # mostrar paginado (q para salir)
head -n 20 archivo.txt # primeras 20 líneas
tail -n 20 archivo.txt # últimas 20 líneas
tail -f /var/log/syslog # seguir archivo en tiempo real
wc -l archivo.txt # contar líneas
wc -w archivo.txt # contar palabras
touch archivo.txt # crear archivo vacío o actualizar fecha
cp origen.txt destino.txt # copiar archivo
mv archivo.txt nuevo.txt # renombrar / mover
rm archivo.txt # eliminar
ln -s /ruta/real enlace # crear enlace simbólico
file imagen.png # detectar tipo de archivo
stat archivo.txt # metadatos completos (fecha, inodo, permisos)
Búsqueda
# find: busca archivos por atributos
find / -name "*.log" # por nombre
find /var/log -name "*.log" -mtime +7 # modificados hace más de 7 días
find . -type f -size +10M # archivos de más de 10 MB
find . -type f -name "*.log" -delete # buscar y eliminar
# grep: busca texto dentro de archivos
grep "error" archivo.log # buscar patrón
grep -r "TODO" ./src/ # búsqueda recursiva
grep -i "error" archivo.log # sin distinción mayús/minús
grep -n "error" archivo.log # mostrar número de línea
grep -v "DEBUG" archivo.log # excluir líneas con DEBUG
grep -c "error" archivo.log # contar ocurrencias
# locate: búsqueda rápida en base de datos (actualizar con updatedb)
locate nginx.conf
Procesos
ps aux # todos los procesos
ps aux | grep nginx # filtrar por nombre
top # monitor interactivo
htop # monitor mejorado
kill -15 PID # terminar proceso (SIGTERM)
kill -9 PID # forzar cierre (SIGKILL)
killall nginx # matar por nombre
pgrep nginx # obtener PID por nombre
pkill -f "server.js" # matar por patrón en el comando
nohup comando & # ejecutar en background, resistente al logout
jobs # procesos en segundo plano de la shell
bg %1 # enviar proceso parado a background
fg %1 # traer proceso de background al frente
Red
ip addr # ver interfaces de red y IPs
ip route # tabla de rutas
ss -tulnp # puertos abiertos y qué los usa
netstat -tulnp # alternativa (más legacy)
lsof -i :3000 # qué proceso usa el puerto 3000
curl -I https://ejemplo.com # cabeceras HTTP
curl -X POST -d '{"k":"v"}' -H 'Content-Type: application/json' URL
wget https://ejemplo.com/archivo # descargar archivo
ping 8.8.8.8 # verificar conectividad
traceroute 8.8.8.8 # trazar ruta de paquetes
dig ejemplo.com # consultas DNS
nslookup ejemplo.com # alternativa a dig
ssh usuario@host # conectar por SSH
Disco y espacio
df -h # espacio en particiones
du -sh directorio/ # tamaño de un directorio
du -sh /* | sort -hr # ver qué ocupa más en /
du -sh /var/log/* | sort -hr # top de directorios en /var/log
ncdu / # explorador interactivo de disco (requiere instalación)
lsblk # discos y particiones
Compresión y archivos
tar -czf backup.tar.gz directorio/ # comprimir
tar -xzf backup.tar.gz # descomprimir
tar -tzf backup.tar.gz # listar contenido sin extraer
gzip archivo.txt # comprimir (reemplaza el archivo)
gunzip archivo.txt.gz # descomprimir
zip -r backup.zip directorio/ # crear zip
unzip backup.zip # extraer zip
unzip -l backup.zip # listar sin extraer
Texto y procesamiento
sort archivo.txt # ordenar líneas
sort -nr archivo.txt # orden numérico inverso
sort -u archivo.txt # ordenar y eliminar duplicados
uniq archivo.txt # eliminar líneas duplicadas consecutivas
cut -d',' -f1,3 datos.csv # extraer columnas por delimitador
awk '{print $1}' archivo.txt # extraer primera columna
sed 's/viejo/nuevo/g' archivo.txt # reemplazar texto
tr '[:upper:]' '[:lower:]' # convertir a minúsculas
xargs: pasa salida como argumentos: find . -name "*.log" | xargs rm